Installation¶
One-Line Bootstrap¶
This will:
- Install chezmoi
- Clone the dotfiles repo to
~/.local/share/chezmoi - Prompt for user-specific data (email, name, GPG key), and on non-macOS,
the machine profile (default
linux-dev— macOS always auto-selectsosx) - Run setup scripts in order
- Apply all dotfiles to the home directory
What Happens Automatically¶
Chezmoi runs scripts in .chezmoiscripts/ during apply, in order:
Phase 0: Create Directories¶
Creates the directory structure:
Phase 1: Install Homebrew¶
Installs Homebrew if not already present. Runs on the osx and linux-dev
profiles (Homebrew's installer supports both macOS and Linux).
Phase 2: Install Brewfile¶
Runs brew bundle to install all packages from the Brewfile.
On the osx profile, also installs from Brewfile.macos (GUI casks and the
handful of macOS-only formulas). This step is hash-tracked — it only re-runs
when either Brewfile changes.
Phase 3: Compile keyfreq¶
Compiles the keyfreq Swift utility (re-runs when the source changes):
Phase 4: Post-Install Notes¶
Displays manual steps:
- Restart terminal or
source ~/.zshrc - Install tmux plugins: ++prefix+shift+i++
- Add secrets to macOS keychain via
keychain-secret set <NAME> - Import shell history into zoxide and atuin
Post-Install Manual Steps¶
Tmux Plugins¶
Open tmux and install plugins:
Shell History Migration¶
# Import from z (if migrating from z.sh)
zoxide import --from=z ~/.z
# Import shell history into atuin
atuin import auto
GPG Key¶
Import your GPG key for commit signing:
AWS Configuration¶
Set up your AWS profiles, then use af to switch:
Updating¶
Pull latest changes and apply:
Or if you've edited files directly in the source: