Skip to content

robocopklaus/dotfiles

Repository files navigation

dotfiles

Personal macOS setup managed with chezmoi.

This repository is intended to rebuild the same development environment on my MacBook Pro and Mac Studio.

Install

sh -c "$(curl -fsLS https://get.chezmoi.io/lb)" -- -- --use-builtin-git=true init --apply robocopklaus/dotfiles

This installs chezmoi into ~/.local/bin, clones this repository into the default source directory, and applies the managed files.

The install command uses chezmoi's built-in Git support so a fresh macOS system can clone this repository before Xcode Command Line Tools are installed. The first apply opens the Command Line Tools installer when needed, waits for it to finish, installs Homebrew when needed, applies the Brewfile including Codex CLI, and installs Claude Code with its native installer when needed.

Zsh plugins are managed with Antidote via ~/.zsh_plugins.txt, with zoxide handling directory jumps. Only selected Oh My Zsh plugins are loaded, not the full Oh My Zsh framework.

Git commits and tags are configured for SSH signing with 1Password. On a fresh Mac, sign in to 1Password and enable the 1Password SSH agent (Settings → Developer → "Use the SSH agent"). Register the public key in GitHub twice — under SSH keys (for git push over SSH) and under SSH signing keys (for commit verification). The ~/.ssh/config that points ssh at the 1Password agent socket is managed by chezmoi. Local signature verification uses ~/.config/git/allowed_signers and can be checked with:

git log --show-signature

If chezmoi is already installed:

chezmoi --use-builtin-git=true init --apply robocopklaus/dotfiles

Daily Use

chezmoi status
chezmoi diff
chezmoi apply
chezmoi update -v
chezmoi cd

The chezmoi source directory uses the default path:

~/.local/share/chezmoi

macOS Defaults

Dock, Finder, Trackpad, and Keyboard defaults are available as an explicit opt-in step. A normal chezmoi apply does not change these settings.

Preview the defaults script:

MACOS_DEFAULTS_DRY_RUN=true CHEZMOI_APPLY_MACOS_DEFAULTS=true chezmoi apply

Apply the defaults:

CHEZMOI_APPLY_MACOS_DEFAULTS=true chezmoi apply

The script backs up the affected defaults domains to ~/.macos-defaults-backup-* before changing settings.

Iteration

Start with the minimum setup, adjust the Mac normally, then add files back to chezmoi when they are worth keeping:

chezmoi add ~/.zshrc
chezmoi cd
git status
git commit -m "chore: update shell config"
git push

Secrets are not stored in Git. Use 1Password for tokens and keys.

Validation

CI is the source of truth for repository validation. See .github/workflows/ci.yml.

About

Minimal macOS dotfiles managed with chezmoi and Homebrew.

Topics

Resources

Stars

Watchers

Forks

Contributors