The status line script was already in the repo but inert: chezmoi ignores source paths beginning with a dot, so home/.claude/ was never part of the source state. Moved to home/dot_claude/ with the executable_ attribute, since the statusLine command is invoked directly and a 0644 file cannot run. Settings are merged rather than replaced. Claude Code writes to settings.json itself -- autoMode.environment is regenerated per machine and /config edits land there -- so a managed file would revert its work on every apply. The keys we assert live in .chezmoitemplates/claude-settings.json as plain JSON; the modify_ script folds them in with jq's recursive merge, leaving unmanaged keys intact at any depth. Fixed a locale bug in the status line: under LC_NUMERIC=es_ES, printf rendered the cost as "1,23" and rejected the rate-limit percentage outright with "invalid number" on stderr. It now forces LC_NUMERIC=C. jq is a hard dependency of both the status line and the settings merge, so it joins the common group. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
20 lines
414 B
TOML
20 lines
414 B
TOML
arch = {
|
|
packages = [
|
|
"chezmoi",
|
|
"jq",
|
|
"1password",
|
|
"1password-cli",
|
|
{
|
|
name = "syncthing",
|
|
hooks = {
|
|
after_sync = [
|
|
"systemctl",
|
|
"--user",
|
|
"enable",
|
|
"--now",
|
|
"syncthing.service",
|
|
]
|
|
}
|
|
},
|
|
]
|
|
}
|