From 928ec33857f0ed83c9d89ee05fa5c26773323473 Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Tue, 21 Apr 2026 01:23:19 +0100 Subject: fix: use CHEZMOI_SOURCE_DIR env var in run scripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- run_onchange_after_deploy-etc.sh | 6 +++--- run_onchange_after_deploy-firefox.sh | 6 +++--- 2 files changed, 6 insertions(+), 6 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 diff --git a/run_onchange_after_deploy-firefox.sh b/run_onchange_after_deploy-firefox.sh index 0d1629e..5108451 100755 --- a/run_onchange_after_deploy-firefox.sh +++ b/run_onchange_after_deploy-firefox.sh @@ -2,7 +2,7 @@ # Deploy Firefox/LibreWolf hardening overrides and custom CSS set -eu -SOURCE_DIR="$(chezmoi source-path)" +# CHEZMOI_SOURCE_DIR is set by chezmoi when executing run scripts # Find LibreWolf profile directory (first profile with a default=1 marker) PROFILES_DIR="$HOME/.librewolf" @@ -13,8 +13,8 @@ if [ -d "$PROFILES_DIR" ]; then fi if [ -n "$PROFILE" ]; then - cp "$SOURCE_DIR/firefox/user-overrides.js" "$PROFILE/user-overrides.js" + cp "$CHEZMOI_SOURCE_DIR/firefox/user-overrides.js" "$PROFILE/user-overrides.js" mkdir -p "$PROFILE/chrome" - cp "$SOURCE_DIR/firefox/chrome/userChrome.css" "$PROFILE/chrome/userChrome.css" + cp "$CHEZMOI_SOURCE_DIR/firefox/chrome/userChrome.css" "$PROFILE/chrome/userChrome.css" fi fi -- cgit v1.2.3-70-g09d2