Personal system configuration using Nix flakes for macOS (Darwin) with home-manager integration.
- Cross-platform support: Darwin (macOS) with potential for NixOS
- Declarative system management: System preferences, packages, and dotfiles
- Homebrew integration: Seamless management of macOS-specific applications
- Home-manager: User environment and dotfile management
- Modern development setup: Neovim with LazyVim, Zsh with Starship prompt
-
Install Nix with flakes enabled:
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
-
Clone this repository:
git clone <your-repo-url> ~/.config/nix-config cd ~/.config/nix-config
-
Build and apply the configuration:
nix build .#darwinConfigurations.big-boi.system ./result/sw/bin/darwin-rebuild switch --flake .
- System: macOS preferences, dock, finder, and keyboard settings
- Packages: Development tools, terminal utilities, and applications
- Shell: Zsh with Oh My Zsh, Starship prompt, and useful aliases
- Editor: Neovim with LazyVim and Gruvbox theme
- Terminal: Alacritty with Gruvbox colors and Hack Nerd Font
To adapt this configuration for your own use:
- Update the system definition in
flake.nix
- Modify user-specific settings in
hosts/big-boi/home-manager/jake/
- Adjust package selections in
hosts/big-boi/packages.nix
- Customize homebrew apps in
hosts/big-boi/homebrew/
├── flake.nix # Main flake configuration
├── hosts/
│ ├── big-boi/ # Primary system configuration
│ └── template/ # Template for new systems
└── flake.lock # Pinned dependencies
Update all inputs and rebuild:
nix flake update
darwin-rebuild switch --flake .