Toolboxes declared in .chezmoidata/tools.yaml no longer need a matching
source file under private_dot_config/mise/conf.d/. The run_onchange
install script now loops over tools.yaml/hosts.yaml directly to
(re)generate ~/.config/mise/conf.d/<toolbox>.toml, and removes files for
toolboxes no longer assigned to the host/user, so mise config.toml stays
limited to individual, non-toolbox tools.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GA4dAzARMnLz1G9AmQkYYn
run_onchange_after_mise-install.sh.tmpl hashed the raw contents of
config.toml.tmpl to detect changes, but that file only pulls in real
content through named templates ({{ template "..." }}) fed by
.chezmoidata. Editing that data left the raw .tmpl text (and thus the
hash) unchanged, so mise install silently stopped firing.
Switch the named-template calls to includeTemplate, which chezmoi can
resolve outside the normal source-state parsing pass (unlike the
template action, see https://github.com/twpayne/chezmoi/issues/3334).
This lets the run_onchange script hash the actual rendered output via
includeTemplate instead of the static source text.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Replace the hardcoded 'tea' special case in mise-tools with a generic
mechanism: a tool entry in tools.yaml/hosts.yaml can now be either a
plain string ("latest") or a map keyed by tool name whose value holds
mise params (version, url, asset_pattern, ...). This generalizes to
any future tool needing more than "latest", instead of requiring a
new hardcoded branch per tool.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Nest each host's toolboxes/tools/configs under users.<username> so
root and xavier can have different tool selections on the same
machine, instead of sharing one profile per host.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>