🚀 Install➜
What ./install.sh actually does, command by command. Idempotent and safe to re-run.
Then in your terminal (cmux/Ghostty/iTerm2):
- Set the font to JetBrainsMono Nerd Font (already brewed)
exec zshto pick up the new prompt- Drop secrets in
~/.zshrc.local
Flags➜
| Flag | Effect |
|---|---|
| (none) | Install + configure everything |
--no-headless |
Skip headless tmux/nvim plugin installs (CI-safe) |
--cleanup-preview |
Show what's installed but NOT in the Brewfile (read-only) |
--help |
Help |
DOTFILES=/custom/path ./install.sh lets you keep the repo somewhere other than ~/.dotfiles.
What it does, end-to-end➜
- Symlinks all 13 config files
- Bridges
~/.dotfiles → $DOTFILESif you cloned somewhere else - Installs Homebrew if missing → runs
brew bundle - Installs oh-my-zsh + 3 custom plugins
- Installs fzf shell bindings (
Ctrl-R/Ctrl-T/Alt-C) - Warms the tealdeer cache
- Installs TPM + headless-installs all 8 tmux plugins
- Installs amix vim runtime
- Headless
:Lazy sync— installs every LazyVim plugin - Headless
:MasonInstall— installs all configured LSPs/formatters - Installs NVM
- Installs mlx-lm via pipx for local AI
- Verifies all 21 critical tools resolve
There's no --cleanup --force
brew bundle cleanup --force is intentionally not available from the
install script — the Brewfile is your fresh-machine spec, not an
inventory. Cleanup would uninstall manually-added tools (cmux, claude-code,
personal taps). Use --cleanup-preview to see what's untracked, then
brew uninstall <name> selectively.