From c8c6fa4fb6685ab4914ff014165a382e9d2db842 Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Tue, 21 Apr 2026 01:23:26 +0100 Subject: fix: use 'chezmoi init --apply' to regenerate config on template changes When .chezmoi.toml.tmpl changes (e.g. adding [status] exclude=scripts), plain 'chezmoi apply' warns and keeps using the stale config. Using 'init --apply' regenerates the config from the template and applies in one step. Status does a silent init first for the same reason. --- .githooks/post-commit | 2 +- justfile | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.githooks/post-commit b/.githooks/post-commit index d2d7eba..ce41b5c 100755 --- a/.githooks/post-commit +++ b/.githooks/post-commit @@ -1,2 +1,2 @@ #!/bin/sh -chezmoi apply -S "$(git rev-parse --show-toplevel)" +chezmoi init --apply -S "$(git rev-parse --show-toplevel)" diff --git a/justfile b/justfile index 716f7ed..8191241 100644 --- a/justfile +++ b/justfile @@ -2,9 +2,9 @@ install-hooks: git config core.hooksPath .githooks -# Deploy dotfiles +# Deploy dotfiles (regenerates config from template if it changed) apply: - chezmoi apply -S . + chezmoi init --apply -S . # Install packages from one or more groups (e.g. just install base dev wayland) install *groups: @@ -80,6 +80,7 @@ status: done echo "" echo "=== Dotfile drift ===" + chezmoi init -S . >/dev/null 2>&1 || true chezmoi status -S . || true # Show install coverage for each group (or full breakdown for one group) -- cgit v1.2.3-70-g09d2