No description
This repository has been archived on 2026-02-04. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
Find a file
2026-02-03 13:25:46 -06:00
home push 2026-01-31 20:26:01 -06:00
hosts push 2026-01-31 20:26:01 -06:00
modules push 2026-01-31 20:26:01 -06:00
secrets update 2026-01-14 17:25:04 -06:00
wiki Merge remote-tracking branch 'origin/main' into main 2026-01-31 13:40:02 -06:00
.gitignore its getting there. moving on to templates, and clipping. 2026-02-03 13:25:46 -06:00
.nixd.json push 2026-01-31 20:26:01 -06:00
flake.lock push 2026-01-31 20:26:01 -06:00
flake.nix push 2026-01-31 20:26:01 -06:00
iso.nix Major refactor: nearly ready 2026-01-17 19:45:02 -06:00
README.md Major refactor: nearly ready 2026-01-17 19:45:02 -06:00

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-nixhome-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

Configuration

Platform-Specific

  • nix-darwin - macOS setup with system defaults, Homebrew, multi-Mac management
  • nixos - NixOS 25.11 installation, networking, virtualization, multi-host setup

Supplementary

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: --rollback option, 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

  1. "How do I install Nix?"standalone-nix
  2. "How do I configure my shell?"home-manager-programs
  3. "How do I use nix-darwin?"nix-darwin
  4. "How do I deploy to NixOS?"nixos

Comprehensive Guides

Configuration Reference

Contributing

To improve this configuration:

  1. Edit relevant files (home/tbone/modules/*.nix, hosts/*.nix, etc.)
  2. Test with nix flake check
  3. Deploy with appropriate *-rebuild switch command
  4. Update wiki documentation if needed

License

This configuration is provided as-is for personal use. Adapt freely for your needs.

Acknowledgments