Important
People who are interested in Claude Code config, please visit modules/claude-code.
Unified Nix-based configuration for macOS (nix-darwin) and NixOS.
dotfiles/
├── flake.nix # Unified flake (NixOS + nix-darwin)
├── Makefile # Build and setup targets
├── hosts/
│ ├── nixos/ # NixOS system configuration
│ └── macos/ # nix-darwin system configuration
├── home/
│ ├── nixos.nix # NixOS Home Manager entry point
│ ├── macos.nix # macOS Home Manager entry point
│ └── modules/ # Shared and platform-specific modules
├── brew/ # Homebrew Brewfiles (macOS)
└── secrets/ # sops-nix encrypted secrets
- Install Nix
- Clone this repository to
~/dotfiles - Apply the nix-darwin configuration:
make switch - Install Homebrew packages:
make brew make brew-gui
- Clone this repository to
~/dotfiles - Apply the NixOS configuration:
make switch
All Nix targets automatically detect the platform (macOS / NixOS) and run the appropriate command.
| Target | Description |
|---|---|
build |
Build system configuration (dry run) |
switch |
Apply system + Home Manager configuration |
update |
Update flake inputs |
gc |
Delete old generations (keep last 7) and run garbage collection |
brew-install |
Install Homebrew |
brew |
Install base Homebrew packages |
brew-gui |
Install GUI Homebrew packages |
brew-optional |
Install optional Homebrew packages |
brew-himkt |
Install personal Homebrew packages |