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 |