dotfiles and reproducible from a clean M4 Mac with a one-command bootstrap (install.sh, 15 ordered steps).
The machine
- Hardware: Apple Silicon M4 Mac Mini (Darwin 25.5.0)
- Shell:
fish(login) withfisherplugins;zshfallback - Prompt: starship
CLI toolbelt
Installed via aBrewfile:
Navigation
bat, eza, zoxide, treeEnvironment
direnv, minicondaPlatform
node, postgresql@18, cocoapods, ghApps (casks)
Claude desktop · VS Code · Figma · Linear · Notion + Notion Calendar · Raycast · Slack · Chrome · GitHub Desktop · LinearMouse · BetterDisplay · Ice / AltTab.Managed, version-controlled configs
Everything below is symlinked fromdotfiles, so the configuration is the source of truth — not the machine.
Symlinked configs
Symlinked configs
fish, git, ssh, VS Code (settings, keybindings, snippets, extensions), LinearMouse, gh, and Claude Code config.System setup
System setup
LaunchAgents, macOS defaults.sh, and Conda environment restore.Bootstrap a clean machine
1
Clone dotfiles
Pull the
dotfiles repo onto the fresh machine.2
Run the installer
install.sh runs 15 ordered steps — Homebrew packages and casks, symlinks, macOS defaults, and Conda restore.3
Sign in to services
Authenticate
gh and Claude; the rest of the configuration is already in place.