- Nix 100%
| home | ||
| hosts | ||
| modules | ||
| secrets | ||
| wiki | ||
| .gitignore | ||
| .nixd.json | ||
| flake.lock | ||
| flake.nix | ||
| iso.nix | ||
| README.md | ||
T.Bone's Nix Configuration
Declarative configuration management for NixOS, Home Manager, and nix-darwin. Supports x86_64 Linux, aarch64 Linux, and M-series Macs (aarch64-darwin).
All documentation updated for Nix 25.11 "Xantusia" | 📚 Complete Wiki Documentation →
Quick Start
What is this?
This repository provides a unified, reproducible configuration across multiple machines and platforms using Nix flakes:
- Nix package manager - Reproducible package environments
- Home Manager 25.11 - Declarative user configuration
- NixOS 25.11 - Full system replacement (optional)
- nix-darwin - macOS system layer (optional)
Choose Your Setup
| Platform | Method | Docs |
|---|---|---|
| macOS (M-series) | Standalone Nix + nix-darwin + Home Manager | nix-darwin + home-manager-settings |
| Linux (non-NixOS) | Standalone Nix + Home Manager | standalone-nix + home-manager-settings |
| NixOS (any x86_64) | NixOS + Home Manager | nixos + home-manager-settings |
👉 Start with the Wiki for your specific platform.
Deployment Options
Option 1: Home Manager Only (Easiest)
Use this configuration on any Linux distro or macOS with just Nix:
# Install Nix
sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install) --daemon
# Clone and deploy
git clone https://github.com/code-yeongyu/t.bone.nix
cd t.bone.nix
home-manager switch --flake .#tbone@linux # or tbone@mac
Read: standalone-nix → home-manager-settings
Option 2: macOS with nix-darwin (System Level)
Add system-level management on macOS:
# After Nix and this config
darwin-rebuild switch --flake .#macbook
Read: nix-darwin + home-manager-settings
Option 3: Full NixOS (Complete Control)
Use NixOS for entire system configuration:
# On NixOS installation media
sudo nixos-rebuild switch --flake github:code-yeongyu/t.bone.nix#apollo
Read: nixos + home-manager-settings
Repository Structure
.
├── flake.nix # Nix flake entrypoint (multi-system)
├── flake.lock # Dependency lock file (checked in)
│
├── home/tbone/ # Home Manager configuration
│ ├── home.nix # User environment root
│ └── modules/ # Program-specific configs
│ ├── fish.nix # Shell
│ ├── neovim.nix # Editor
│ ├── tmux.nix # Multiplexer
│ ├── starship.nix # Prompt
│ ├── git.nix # Version control
│ └── ...
│
├── hosts/ # Host-specific configurations
│ ├── common.nix # Shared settings
│ ├── apollo/ # NixOS host example
│ ├── luna/
│ ├── sol/
│ └── saturn/
│
├── modules/ # Reusable system modules
│ ├── shared/common.nix
│ ├── darwin/ # macOS-specific
│ ├── nixos/ # NixOS-specific
│ └── containers/ # Service containers
│
├── wiki/ # Comprehensive documentation
│ ├── README.md # Wiki index
│ ├── repo-usage.md # This repository
│ ├── home-manager-*.md # Home Manager guides
│ ├── standalone-nix.md # Nix installation
│ ├── nix-darwin.md # macOS setup
│ ├── nixos.md # NixOS deployment
│ └── secrets.md # Secrets management
│
└── scripts/ # Utility scripts
├── lix-installer.sh
└── uninstall-nix.sh
Key Commands
Repository Management
# View available configurations
nix flake show
# Validate configuration
nix flake check
# Update all dependencies
nix flake update
# Build without deploying
nix build .#homeConfigurations.tbone@linux.activationPackage
Deployment
# Home Manager (Linux)
home-manager switch --flake .#tbone@linux
# Home Manager (macOS)
home-manager switch --flake .#tbone@mac
# macOS system
darwin-rebuild switch --flake .#macbook
# NixOS
sudo nixos-rebuild switch --flake .#apollo
Development
# Enter dev shell
nix develop
# Or create project-specific shells
nix develop .#default
Full reference: repo-usage
Documentation Index
Getting Started
- repo-usage - Repository commands, workflows, troubleshooting
- standalone-nix - Installing Nix on any system
Configuration
- home-manager-settings - Core Home Manager options (state version, environment, XDG)
- home-manager-programs - Program modules (Fish, Neovim, Git, Tmux, etc.)
Platform-Specific
- nix-darwin - macOS setup with system defaults, Homebrew, multi-Mac management
- nixos - NixOS 25.11 installation, networking, virtualization, multi-host setup
Supplementary
- Secrets Management - Using sops-nix for encrypted secrets
- NixOS Wiki - Community documentation
What's Included
Home Manager Modules
Pre-configured environments for developer tools:
| Module | Includes |
|---|---|
| shell | Fish shell with aliases and functions |
| editor | Neovim with LSP, Treesitter, Telescope |
| terminal | Tmux with vim keybindings and plugins |
| prompt | Starship with git integration |
| tools | Fzf, Bat, Yazi file manager |
| dev | Git, direnv, version managers |
See home-manager-programs for complete reference.
System Support
✅ Architectures: x86_64-linux, aarch64-linux, aarch64-darwin (M1/M2/M3/M4)
✅ Distros: Any Linux + macOS (Home Manager) or NixOS/nix-darwin (full system)
✅ Versions: Nix 2.18+, Home Manager 25.11, NixOS 25.11
Nix 25.11 Highlights
This configuration uses Nix 25.11 "Xantusia" (released Nov 30, 2025):
- NixOS 25.11: GNOME 49, nixos-rebuild-ng Python rewrite, FirewallD support
- Home Manager 25.11:
--rollbackoption, profile management improvements - Nixpkgs 25.11: 7,002 new packages, LLVM 21, GCC 14, PostgreSQL 17 default
Breaking Changes
Read nixos for NixOS 25.11 incompatibilities:
- LXD removed → use Incus
- NetworkManager VPN plugins must be explicit
- PostgreSQL upgraded to v17
- Display managers now use tty1
Multi-Host Management
This repo supports managing multiple machines with shared configuration:
# NixOS hosts
sudo nixos-rebuild switch --flake .#apollo # Desktop
sudo nixos-rebuild switch --flake .#luna # Laptop
sudo nixos-rebuild switch --flake .#saturn # Server
# macOS
darwin-rebuild switch --flake .#macbook
Each host can have:
- Shared base configuration
- Host-specific overrides
- Independent Home Manager config per user
See: repo-usage and nixos for multi-host patterns.
Getting Help
Quick Questions
- "How do I install Nix?" → standalone-nix
- "How do I configure my shell?" → home-manager-programs
- "How do I use nix-darwin?" → nix-darwin
- "How do I deploy to NixOS?" → nixos
Comprehensive Guides
- Browse wiki/ for complete documentation
- Search nixos.org for packages/options
- Visit NixOS Discourse for community help
Configuration Reference
Contributing
To improve this configuration:
- Edit relevant files (
home/tbone/modules/*.nix,hosts/*.nix, etc.) - Test with
nix flake check - Deploy with appropriate
*-rebuild switchcommand - Update wiki documentation if needed
License
This configuration is provided as-is for personal use. Adapt freely for your needs.
Acknowledgments
- NixOS Community - Declarative package management
- Home Manager - User environment management
- nix-darwin - macOS integration
- Community configurations - Inspiration and patterns