dotfiles
My Development Setup, managed with Nix, nix-darwin, and home-manager. Works on macOS, NixOS, and standalone Linux.
Quickstart
1. Install Nix
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
2. Clone the repository
git clone git@github.com:simenandre/dotfiles.git ~/dotfiles
cd ~/dotfiles
3. Apply the configuration
macOS
On first run, bootstrap nix-darwin:
nix run nix-darwin -- switch --flake .#default
On subsequent runs:
darwin-rebuild switch --flake .#default
NixOS
Generate hardware config and rebuild:
sudo nixos-generate-config --show-hardware-config > modules/nixos/hardware-configuration.nix
sudo nixos-rebuild switch --flake .#nixbox
Linux (standalone home-manager)
# x86_64
home-manager switch --flake .#simenandre
# aarch64
home-manager switch --flake .#simenandre@aarch64-linux
Structure
flake.nix # Entry point – inputs & all configurations
modules/
darwin/
default.nix # System-level configuration (nix settings, core packages)
homebrew.nix # Homebrew packages (taps, brews, casks, Mac App Store)
macos.nix # macOS system defaults
home/
default.nix # home-manager entry point (platform-aware home directory)
git.nix # Git configuration (platform-aware SSH signing path)
zsh.nix # Zsh configuration (zshenv, zshrc, aliases, path, extras)
starship.nix # Starship prompt
tmux.nix # Tmux configuration
ghostty.nix # Ghostty terminal configuration
nixos/
default.nix # NixOS system configuration
scripts/
cleanup.sh # macOS cleanup utility
