Personal layer
Customize Groundwork without forking it.
Groundwork is a shared base, not an all-or-nothing box. Keep your personal preferences in local files and machine-local chezmoi data so you can keep pulling updates without losing your own habits.
Small personal additions go in .local files. Setup choices go in ~/.config/chezmoi/chezmoi.toml. Full ownership of a managed file means ignore it or maintain your own fork.
#Tier 1: local override files
Use this for the normal case: a few aliases, a different Git preference, or one tmux binding. These files are not managed by Groundwork, and they load after the shared defaults, so your local choices win.
~/.zshrc.local | Shell aliases, functions, exports, PATH additions, and prompt-adjacent tweaks. |
~/.gitconfig.local | Personal Git preferences, conditional includes, aliases, and per-directory identities. |
~/.config/tmux/tmux.local.conf | Personal tmux options, bindings, status tweaks, and plugin settings. |
$ cat >> ~/.zshrc.local <<'EOF'
alias c='clear'
export VISUAL=code
EOF
$ source ~/.zshrcSome managed files have no .local overlay — starship.toml, the Ghostty config, ~/.claude/keybindings.json. For those, edit the managed source so your change and Groundwork's stay in one place: chezmoi edit --apply ~/.claude/keybindings.json. Your edit lives in your local copy of the source; if a later Groundwork update touches the same file, Git shows a visible conflict instead of silently overwriting you. If you find yourself diverging heavily from upstream in one of these files, that's Tier 3.
#Tier 2: re-answer setup choices
Choices that Groundwork already asks about live in ~/.config/chezmoi/chezmoi.toml. That file is machine-local. Edit it directly or re-run chezmoi init, then apply.
$ chezmoi init
$ chezmoi diff
$ chezmoi applyUse this tier for values like work-vs-personal machine, Git identity, password manager, code directory, reset behavior, signing key, and Obsidian vault name.
#Tier 3: full ownership
If you want to fully own an entire file, do not keep fighting chezmoi apply. Either ignore that file for this machine or maintain a fork.
| Ignore a file locally | Use when one machine should stop receiving a managed file from Groundwork. Add the path to your local chezmoi ignore setup only after deciding you really want full ownership. |
| Fork Groundwork | Use when your whole team or long-term personal setup should diverge from the upstream defaults. |
If you edit ~/.zshrc, ~/.gitconfig, or ~/.config/tmux/tmux.conf directly, the next chezmoi apply can replace your edits. Put personal changes in the local override files instead.