Personal macOS dotfiles managed with chezmoi.
curl -fsSL https://raw.githubusercontent.com/jwdeane/dotfiles/HEAD/install.sh | shWhat install.sh does:
- Verifies Apple Silicon macOS.
- Installs Homebrew if missing.
- Installs
chezmoiif missing. - Runs
chezmoi init --apply jwdeane.
During chezmoi init --apply, a pre-hook installs 1Password and the 1Password CLI (op) if needed:
- Hook definition:
.chezmoi.toml.tmpl - Hook script:
.install-password-manager.sh
chezmoi apply --dry-run
chezmoi apply
chezmoi edit dot_zshrcUseful commands:
chezmoi diff
chezmoi status
chezmoi doctorWhen changing shell scripts, validate with:
shellcheck path/to/script.sh
shfmt -d path/to/script.shshfmt -d checks formatting by printing a diff. To format in place, run shfmt -w path/to/script.sh.
- Repository root is the chezmoi source root (no
home/subdirectory). - Dotfiles use chezmoi naming (
dot_zshrc->~/.zshrc,dot_config/*->~/.config/*). - Homebrew packages are managed in
dot_Brewfile(~/.Brewfile). - Automation scripts live in
.chezmoiscripts/.
- Never commit secrets directly; use templates and secret integrations.
- Test changes with
chezmoi apply --dry-runbefore applying.