X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/3cfa9e5d746bd65ecc35f1f8b50bcb7c200671c5..398a3a5e880fb4f070a9eb2ce29dbaa5827d937c:/install.sh?ds=sidebyside diff --git a/install.sh b/install.sh index 89d64d7..88a80ad 100755 --- a/install.sh +++ b/install.sh @@ -19,11 +19,11 @@ cache="${XDG_CACHE_HOME#$DEST/}" # test devnull=/dev/null -if [ "$1" = "test" ]; then +if [ ${DOTFILES_TEST+x} = x ]; then echo "Running test -- no changes will be applied" devnull=/dev/stdout _cd() { - echo "-- cd $* --> $PWD"; + echo "-- cd $PWD --> $*"; cd $*; } alias cd="_cd" @@ -69,7 +69,7 @@ find . "$share" "$etc" \ -xdev -mindepth 1 -maxdepth 1 -type l -exec sh -c ' r="$(realpath "{}")" [ "${r#'"$SRC"'/}" != "$r" ] && - '"$([ "$1" = test ] && echo 'echo +++ ')"'unlink "{}"' \; + '"$([ ${DOTFILES_TEST+x} = x ] && echo 'echo +++ ')"'unlink "{}"' \; cd "$SRC" >$devnull @@ -131,7 +131,31 @@ fi if command -v ssh >$devnull 2>&1; then mkdir -pm 700 "$DEST/.ssh" find ssh -mindepth 1 -maxdepth 1 | while read -r x; do - l ".$x"; done + l ".$x" + done +fi + +# librewolf +if command -v librewolf >$devnull 2>&1; then + # XXX: MOZ_USER_DIR is compiletime, can't move to .config :( + mkdir -p "$DEST/.librewolf" + find librewolf -mindepth 1 -maxdepth 1 -type f | while read -r x; do + l ".$x" + done + profiles="$DEST/.librewolf/profiles.ini" + if [ -f "$profiles" ]; then + find librewolf/chrome -mindepth 1 -maxdepth 1 -type f | while read -r x; do + # vv arcane bullshit vv + sed -En 's/^Path=(.+)/\1/;Tx;p;:x' "$profiles" | while read -r y; do + # ignore profiles that are most likely unused + # TODO: actually check profiles.ini + profile="$DEST/.librewolf/$y" + [ -d "$profile" -a -f "$profile/prefs.js" ] || continue + mkdir -p "$profile/chrome" + l "${profile#$DEST/}/chrome/${x#librewolf/chrome/}" + done + done + fi fi # termux, assume it if android