0006 Dotfiles vendored in-repo with chezmoi
Context
Dotfiles lived in a standalone
jonpulsifer/dotfilesrepo, creating a second PR surface and a bootstrap dependency (network clone) on fresh hosts. home-manager was considered and rejected as too heavy for what is mostly static config.
Decision
Merge the dotfiles repo into
dotfiles/with history (git filter-repo) and keep them chezmoi-managed — not a flake input, no home-manager.The repo-root
.chezmoirootpoints chezmoi atdotfiles/. On NixOS hosts,nix/system/chezmoi.nixcarries the tree into the system closure and an activation script runschezmoi apply --source <store-path>forjawnon every rebuild/boot.
Consequences
No network clone at activation time; dotfiles self-heal on every rebuild and are versioned with the infra that consumes them.
Edits under
dotfiles/ship on the nextchezmoi apply/rebuild — one repo, one PR.The WSL image needs no build-time seeding; the activation script applies dotfiles on first boot.
chezmoi remains usable standalone on non-NixOS machines pointed at the same source.
Links
Linked references 4
ADR/0006 Dotfiles vendored in-repo with chezmoi — no home-manager, no separate repo
Dotfiles are chezmoi-managed from the in-repo dotfiles/ tree. nix/system/chezmoi.nix carries that subtree into the system closure and runs chezmoi apply --source <store-path> during activation. See ADR/0006 Dotfiles vendored in-repo with chezmoi.
chezmoi-managed from the in-repo dotfiles/ tree; an activation script applies them from the store path on every rebuild/boot, no network clone. See ADR/0006 Dotfiles vendored in-repo with chezmoi.