diff options
| author | 2026-04-21 01:23:19 +0100 | |
|---|---|---|
| committer | 2026-04-21 01:23:19 +0100 | |
| commit | 928ec33857f0ed83c9d89ee05fa5c26773323473 (patch) | |
| tree | 2eaf886b93b94692f80de3e4084e7a200405c433 | |
| parent | 98360109941998cef8c0eda8c421c474dc3f324b (diff) | |
| download | dotfiles-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.
| -rwxr-xr-x | run_onchange_after_deploy-etc.sh | 6 | ||||
| -rwxr-xr-x | 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 |
