- macOS (Apple Silicon)
- Xcode Command Line Tools:
xcode-select --install
What this does:
- Installs Homebrew and everything in the Brewfile
- Installs Oh My ZSH, Powerlevel10k, plugins, and nvm
- Creates symlinks from
./dotfilesfolder to$HOMEfolder - Sets several defaults for macOS
- Points iTerm2 at the settings in
./iterm(see step 3)
Safe to re-run: steps that are already done are skipped.
Git user details are gitignored and must be configured manually:
cp ~/dotfiles/dotfiles/.gitconfig.local.example ~/.gitconfig.local
# Edit ~/.gitconfig.local with your name, email, and GPG signing keyiTerm2 loads its settings from iterm/com.googlecode.iterm2.plist, so the repo is the source of truth.
- Quit iTerm2, then run
iterm/link-settings.shfrom Terminal.app (setup.shruns it too, but skips it while iTerm2 is open). - Open iTerm2 → Settings → General → Settings → set Save changes to Automatically.
- Commit
iterm/com.googlecode.iterm2.plistwhenever you change a setting.
Fonts: MonoLisa (paid, install manually) with Hack Nerd Font (in the Brewfile) for icons.
Color presets can also be imported on their own: Settings → Profiles → Colors → Color Presets → Import → iterm/*.itermcolors.
| File | Purpose |
|---|---|
.aliases |
Shell aliases |
.env-variables |
Environment variables and PATH |
.functions |
Shell functions |
.gitconfig |
Git configuration (identity via .gitconfig.local) |
.zshrc |
ZSH configuration and plugins |
.zprofile |
Login shell config (Homebrew, OrbStack) |
Private overrides live outside the repo and are loaded if present: ~/.env-variables.local (secrets/tokens) and ~/.functions.local (client-specific functions).