Craftznake
Nix
May 9, 2026
I use nix-darwin and home-manager because I want the machine setup to be boring.
I am not chasing perfect Nix style. I just want a reliable workflow. I change config, run make switch, and keep working. If I reinstall macOS, I run install.sh and get my entire environment back in minutes.
The primary benefit is centralizing state. My terminal, Neovim, Aerospace layout, Karabiner mapping, and shell prompt all originate from the same declarative repository. When something breaks, I can diff the changes and roll back immediately.
Structure
The logic is partitioned into simple modules: Apps are defined inapps.nix, CLI tools in packages.nix, and dotfile symlinking is handled via file.nix. This eliminates the need for manual installation steps or one-off commands.
- Sourcehnimtadd/dotfile
- nix-darwin/config/nix-darwin
- home-manager/config/nix-home-manager
- Bootstrap
./install.sh
Nix
May 9, 2026
I use nix-darwin and home-manager because I want the machine setup to be boring.
I am not chasing perfect Nix style. I just want a reliable workflow. I change config, run make switch, and keep working. If I reinstall macOS, I run install.sh and get my entire environment back in minutes.
The primary benefit is centralizing state. My terminal, Neovim, Aerospace layout, Karabiner mapping, and shell prompt all originate from the same declarative repository. When something breaks, I can diff the changes and roll back immediately.
Structure
The logic is partitioned into simple modules: Apps are defined inapps.nix, CLI tools in packages.nix, and dotfile symlinking is handled via file.nix. This eliminates the need for manual installation steps or one-off commands.
- Sourcehnimtadd/dotfile
- nix-darwin/config/nix-darwin
- home-manager/config/nix-home-manager
- Bootstrap
./install.sh