X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/54b4032b4e27434a13b14a1816ed33b039073be8..8e304013263fbd1245e5177958818998db1c91a0:/install.sh diff --git a/install.sh b/install.sh index de5deba..5232abf 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 @@ -137,14 +137,25 @@ 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/chrome" + # 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 - find librewolf/chrome -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/;T;p' "$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