Managed using chezmoi. The main branch contains chezmoi source files (prefixed with dot_, private_, etc.). The rendered branch contains the actual rendered dotfiles as they would be applied to a machine.
The rendered branch is auto-generated by render_macos_output.sh whenever changes are pushed from main. Template variables use placeholder values and Library/ is excluded.
To render manually:
./render_macos_output.shchezmoi doesn't delete a file on the target machine just because it was removed from the source. Deletions have to be listed explicitly in .chezmoiremove, or the file just lingers on every machine that already applied it.
Before trusting it, preview what it would actually remove:
chezmoi apply --dry-run --verbosegit config core.hooksPath .githooksThis enables:
- pre-push: renders dotfiles to the
renderedbranch (see above). - pre-commit: reminds you (non-blocking) to update
.chezmoiremovewhenever a commit deletes a file, so removals don't get missed on the nextchezmoi applyelsewhere.