Managed with chezmoi. The source state lives under
home/ (see .chezmoiroot).
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply fr0znThat single command installs chezmoi, clones this repo, installs Homebrew packages, deploys every config, and runs the one-time macOS setup.
On this machine the repo is kept at
~/.dotfilesinstead of chezmoi's default location, viasourceDir = "~/.dotfiles"in~/.config/chezmoi/chezmoi.toml.
| Command | What it does |
|---|---|
chezmoi edit ~/.zshrc |
edit the source of a managed file |
chezmoi diff |
preview pending changes |
chezmoi apply |
deploy changes (and run changed scripts) |
chezmoi re-add <file> |
capture local edits back into the source |
chezmoi update |
git pull + apply (sync another machine) |
chezmoi cd |
open a shell in the source repo |
home/dot_*— files deployed into$HOME(dot_zshrc→~/.zshrc, …)home/dot_config/shell/— shared shell config sourced by~/.zshrc(allrcloads path/env/aliases/exports/functions + macOS extras)home/.chezmoidata/packages.yaml— Homebrew taps/formulae/casks; installed byrun_onchange_before_10-packages.sh.tmplwhenever the list changeshome/.chezmoiexternal.toml— auto-updated externals (oh-my-zsh, vim-plug)home/run_once_after_*— one-time machine setup (macOS defaults, iTerm2 prefs location, theme seed)
- iTerm2 loads prefs from
~/.config/iterm2(managed). After changing settings in iTerm2, runchezmoi re-add ~/.config/iterm2/com.googlecode.iterm2.plist. - Theme:
theme-switch light|darktoggles macOS appearance and writes~/.config/theme(read by vim). This file is seeded once, not managed. kitty follows the OS appearance automatically via its{dark,light,no-preference}-theme.auto.conffiles, which contain the custom theme colors directly. - The previous hand-rolled bootstrap system (multi-distro
bootstrap.sh, per-packageinstall.sh, Linux/pwn profiles) lives in git history — tagpre-chezmoi.