active
dotfiles
My machine configuration as a Nix flake: nix-darwin, home-manager, neovim, zsh, tmux, and alacritty.
- Nix
- nix-darwin
- home-manager
- Lua
dotfiles is how I set up a machine. One Nix flake describes the whole thing: nix-darwin for macOS system state, home-manager for packages and dotfiles, and the hand-written configs that sit underneath them.
Highlights
- A shared
mkDarwinbuilder derives every host from the same module set, so a new machine is one entry indarwinConfigurationsplus a Makefile target - neovim is configured in Lua, biased toward Rust, Go, and web development
- zsh is built around zinit; tmux carries the settings and plugins I stopped thinking about
- The flake is importable as a base (
github:acehinnnqru/dotfiles/master), so a smaller, machine-specific flake can reuse the same builder
Usage
Install Nix, add a host to the flake, then build and switch through the Makefile:
make fresh-build-macos hostname=<host>
make switch-macos hostname=<host>