aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/run_onchange_after_deploy-etc.sh
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-04-21 01:23:19 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-04-21 01:23:19 +0100
commit928ec33857f0ed83c9d89ee05fa5c26773323473 (patch)
tree2eaf886b93b94692f80de3e4084e7a200405c433 /run_onchange_after_deploy-etc.sh
parent98360109941998cef8c0eda8c421c474dc3f324b (diff)
downloaddotfiles-928ec33857f0ed83c9d89ee05fa5c26773323473.tar.gz
dotfiles-928ec33857f0ed83c9d89ee05fa5c26773323473.tar.bz2
dotfiles-928ec33857f0ed83c9d89ee05fa5c26773323473.zip
fix: use CHEZMOI_SOURCE_DIR env var in run scripts
Cannot call 'chezmoi source-path' from within a run script — it deadlocks on the persistent state lock. Use the CHEZMOI_SOURCE_DIR env var that chezmoi provides to run scripts instead.
Diffstat (limited to 'run_onchange_after_deploy-etc.sh')
-rwxr-xr-xrun_onchange_after_deploy-etc.sh6
1 files changed, 3 insertions, 3 deletions
diff --git a/run_onchange_after_deploy-etc.sh b/run_onchange_after_deploy-etc.sh
index aa22db1..d23eebe 100755
--- a/run_onchange_after_deploy-etc.sh
+++ b/run_onchange_after_deploy-etc.sh
@@ -3,7 +3,7 @@
# etc/ files can be symlinked; etc2/ files must be copied (tools that refuse symlinks)
set -eu
-SOURCE_DIR="$(chezmoi source-path)"
+# CHEZMOI_SOURCE_DIR is set by chezmoi when executing run scripts
# etc/ — symlink-friendly configs
for f in \
@@ -13,7 +13,7 @@ for f in \
systemd/system.conf.d/timeout.conf
do
doas mkdir -p "/etc/$(dirname "$f")"
- doas cp "$SOURCE_DIR/etc/$f" "/etc/$f"
+ doas cp "$CHEZMOI_SOURCE_DIR/etc/$f" "/etc/$f"
done
# etc2/ — must be real files (e.g. reflector refuses symlinks)
@@ -21,5 +21,5 @@ for f in \
xdg/reflector/reflector.conf
do
doas mkdir -p "/etc/$(dirname "$f")"
- doas cp "$SOURCE_DIR/etc2/$f" "/etc/$f"
+ doas cp "$CHEZMOI_SOURCE_DIR/etc2/$f" "/etc/$f"
done