Skip to content

Research: chezmoi version pinning per machine (--tag / --ref support) #64

Description

@thompsonson

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

  • Evaluate whether a --tag / --ref flag on chezmoi init and chezmoi update is worth proposing upstream
  • If yes, raise a feature request or PR on twpayne/chezmoi proposing --tag support so machines can pin to a specific dotfiles release tag
  • Consider whether the branch-based channel approach (stable / dev branches) is a simpler alternative that doesn't require upstream changes
  • Assess whether our current release-please tagging + template/create_ approach already covers the actual need

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions