Background
Investigated whether chezmoi supports pinning different machines to different dotfile versions (e.g. stable vs dev channel) via a tag or ref at chezmoi init / chezmoi update time.
Findings
chezmoi init only supports --branch, not --tag or --ref
chezmoi update has no ref flags at all
- No open or closed issue on the chezmoi repo specifically requests
--tag / --ref support
- Maintainer (@twpayne) has explicitly said branching-per-machine is "holding chezmoi wrong" — templates are the preferred solution
- Relevant chezmoi issues: #1234, #3856, discussion #1508
Research tasks
Context
Our dotfiles repo uses release-please to tag stable releases (v1.x.x) and just release-dev for dev snapshots. The goal would be: one machine tracks v1.2.0, another tracks v1.2.0-dev.* — without manually running chezmoi git checkout <tag> each time.
Background
Investigated whether chezmoi supports pinning different machines to different dotfile versions (e.g. stable vs dev channel) via a tag or ref at
chezmoi init/chezmoi updatetime.Findings
chezmoi initonly supports--branch, not--tagor--refchezmoi updatehas no ref flags at all--tag/--refsupportResearch tasks
--tag/--refflag onchezmoi initandchezmoi updateis worth proposing upstream--tagsupport so machines can pin to a specific dotfiles release tagstable/devbranches) is a simpler alternative that doesn't require upstream changescreate_approach already covers the actual needContext
Our dotfiles repo uses release-please to tag stable releases (v1.x.x) and
just release-devfor dev snapshots. The goal would be: one machine tracksv1.2.0, another tracksv1.2.0-dev.*— without manually runningchezmoi git checkout <tag>each time.