macOS Dotfiles
March 12, 2026 · View on GitHub
Shared development environment for the team. One script gets you from a fresh Mac to a fully configured workspace.
Quick Start
- Fork this repo on GitHub
- Clone your fork:
git clone git@github.com:<your-username>/macos-dotfiles.git ~/.macos-dotfiles - Run setup:
cd ~/.macos-dotfiles sh bootstrap.sh
That's it. The setup script walks you through installing apps, linking dotfiles, configuring git + SSH signing, and setting up AWS/EKS access.
Not a fresh Mac? Existing config files (like
~/.zshrc) are automatically backed up to~/.dotfiles-backup/before being replaced.
What You Get
- 100+ CLI tools and apps via Homebrew (bat, fzf, ripgrep, k9s, lazygit, and more)
- Shell — Zsh with antidote plugins, starship prompt, aliases, and completions
- Editor — Neovim with LazyVim
- Terminal — Ghostty with Tokyo Night theme
- Git — SSH commit signing, delta diffs, sensible defaults
- Cloud — AWS CLI profiles and EKS cluster access (PRD + TST)
Day-to-Day Commands
| Command | What it does |
|---|---|
just update | Sync apps with Brewfile (add new, remove old) |
just doctor | Verify everything is working |
just stow | Re-link dotfiles after editing |
just unstow | Unlink all dotfiles |
just clean | Free up disk space (Homebrew cache) |
just dump | Export current apps to Brewfile |
Run individual setup phases anytime:
| Command | What it does |
|---|---|
just brew-install | Install Homebrew packages |
just stow-all | Link dotfiles + install mise SDKs |
just git-setup | Configure git identity, SSH key, GitHub |
just aws-setup | Configure AWS profiles + EKS access |
Customization
Add or remove apps
Edit apps/Brewfile — one line per app:
brew "ripgrep" # CLI tools use 'brew'
cask "firefox" # Desktop apps use 'cask'
Then run just update.
Change terminal/editor settings
Config files live in dotfiles/stow/. Each folder maps to a tool:
| Folder | Configures |
|---|---|
zsh/ | Shell, aliases, plugins |
nvim/ | Neovim (LazyVim) |
ghostty/ | Terminal emulator |
starship/ | Terminal prompt |
git/ | Git config and global ignore |
fish/ | Fish shell |
bat/, btop/, k9s/, lazygit/ | CLI tools |
aws/, mise/, direnv/, ripgrep/ | Dev tools |
fastfetch/ | System info display |
Edit any file, then run just stow to re-link.
Keeping Up With Upstream
Add the team repo as an upstream remote:
git remote add upstream git@github.com:nickhartjes/macos-dotfiles.git
Pull upstream changes:
git fetch upstream
git merge upstream/main
Resolve any conflicts in your fork, then just stow to re-link.