diff options
| author | 2026-04-21 01:25:02 +0100 | |
|---|---|---|
| committer | 2026-04-21 01:25:02 +0100 | |
| commit | fd222e182f43a72e60b7a1e6cd3d57e2c609562f (patch) | |
| tree | d605ec8664fe9adc9ab9582c86065aea38a4bba6 /run_onchange_after_deploy-firefox.sh.tmpl | |
| parent | 201932ce77d8e7ca6fc66e3feb41cebdf68eb573 (diff) | |
| download | dotfiles-fd222e182f43a72e60b7a1e6cd3d57e2c609562f.tar.gz dotfiles-fd222e182f43a72e60b7a1e6cd3d57e2c609562f.tar.bz2 dotfiles-fd222e182f43a72e60b7a1e6cd3d57e2c609562f.zip | |
refactor(firefox): auto-enumerate files like etc/ deploy script
Drop the per-file include hashes and explicit cp calls; walk firefox/
with find(1) and mirror the tree into the LibreWolf profile. Drop-in
new files (e.g. user.js, chrome/userContent.css) now deploy without
touching the script. Same pattern already in use for etc/.
Diffstat (limited to 'run_onchange_after_deploy-firefox.sh.tmpl')
| -rwxr-xr-x | run_onchange_after_deploy-firefox.sh.tmpl | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/run_onchange_after_deploy-firefox.sh.tmpl b/run_onchange_after_deploy-firefox.sh.tmpl index b8bf309..f5a5083 100755 --- a/run_onchange_after_deploy-firefox.sh.tmpl +++ b/run_onchange_after_deploy-firefox.sh.tmpl @@ -1,20 +1,21 @@ #!/bin/sh -# Deploy Firefox/LibreWolf hardening overrides and custom CSS -# chezmoi re-runs this script when any hash below changes. -# {{ include "firefox/user-overrides.js" | sha256sum }} -# {{ include "firefox/chrome/userChrome.css" | sha256sum }} +# Deploy Firefox/LibreWolf hardening overrides and custom CSS. +# chezmoi re-runs this script whenever any file under firefox/ changes. +# firefox/ content hash: {{ output "sh" "-c" (printf "cd %q && find firefox -type f -exec sha256sum {} + | LC_ALL=C sort" .chezmoi.sourceDir) | sha256sum }} set -eu PROFILES_DIR="$HOME/.librewolf" -if [ -d "$PROFILES_DIR" ]; then - PROFILE=$(find "$PROFILES_DIR" -maxdepth 1 -mindepth 1 -type d -name '*.default-default' | head -1) - if [ -z "$PROFILE" ]; then - PROFILE=$(find "$PROFILES_DIR" -maxdepth 1 -mindepth 1 -type d | head -1) - fi +[ -d "$PROFILES_DIR" ] || exit 0 - if [ -n "$PROFILE" ]; then - cp --remove-destination "$CHEZMOI_SOURCE_DIR/firefox/user-overrides.js" "$PROFILE/user-overrides.js" - mkdir -p "$PROFILE/chrome" - cp --remove-destination "$CHEZMOI_SOURCE_DIR/firefox/chrome/userChrome.css" "$PROFILE/chrome/userChrome.css" - fi +PROFILE=$(find "$PROFILES_DIR" -maxdepth 1 -mindepth 1 -type d -name '*.default-default' | head -1) +if [ -z "$PROFILE" ]; then + PROFILE=$(find "$PROFILES_DIR" -maxdepth 1 -mindepth 1 -type d | head -1) fi +[ -n "$PROFILE" ] || exit 0 + +cd "$CHEZMOI_SOURCE_DIR" +find firefox -type f | while IFS= read -r src; do + dest="$PROFILE/${src#firefox/}" + mkdir -p "$(dirname "$dest")" + cp --remove-destination "$src" "$dest" +done |
