Consistent setup for my macOS machines.
- Install Nix
curl -L https://nixos.org/nix/install | sh -s -- --daemon
mkdir -p ~/.config/nix
echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf- Clone this repo:
git clone git@github.com:krmannix/starterpack ~/.config/starterpack
cd ~/.config/starterpack- Update hostname in
flake.nix:
scutil --get LocalHostName # Check your hostname
# Edit flake.nix line 13 to match: darwinConfigurations."your-hostname"- Run bootstrap script:
./bootstrap.shAfter cloning and running bootstrap, apply the nix-darwin configuration:
sudo nix --extra-experimental-features "nix-command flakes" run nix-darwin -- switch --flake /Users/kevin/.config/starterpackEdit any file in ~/.config/starterpack/, then apply:
darwin-rebuild switch --flake ~/.config/starterpackSome configs are copied rather than symlinked. After editing them in place, sync back to the repo:
nix-syncReview changes, commit, and push up.
cd ~/.config/starterpack
git pull
darwin-rebuild switch --flake ~/.config/starterpack- CLI tools
- Language environment managers
- Terminals, Browsers, and utility apps like Alfred
- Zsh configuration
- Git aliases & settings
- Cursor/VSCode settings
- iTerm2 preferences
- Claude settings +
~/CLAUDE.md - Git user name and email
- SSH keys
- Claude API key