2 # Manage stowed programs
5 f="$(find "/usr/local/stow/$1" -type f -print -quit)"
6 f2="$(echo "$f" | sed -e 's;^/usr/local/stow/'"$1"'/;/usr/local/;')"
7 [ "$(realpath "$f2" 2>/dev/null)" = "$f" ]
10 if arg --list "$@" || arg -l "$@"; then
11 for pack in /usr/local/stow/*; do
12 if isstowed "$pack"; then
13 printf "\x1b[1m+ %s\x1b[0m\n" "$pack"
15 printf "\x1b[2m- %s\x1b[0m\n" "$pack"
19 package=$(ls /usr/local/stow | fzy -l 20 -p "Select a stow package: " -q "$1") || exit 1
20 if isstowed "$package"; then
21 printf "\x1b[1m%s\x1b[0m is currently stowed. Do you want to \x1b[1m(u)\x1b[0mnstow it, " "$package"
22 printf "\x1b[1m(r)\x1b[0mestow it, or do \x1b[1m(n)\x1b[0mothing? [u/r/n] "
24 if [ "$choice" = "u" ]; then
25 sudo stow -d /usr/local/stow -D "$package" && printf "Unstowed \x1b[1m%s\x1b[0m!\n" "$package"
26 elif [ "$choice" = "r" ]; then
27 sudo stow -d /usr/local/stow -R "$package" && printf "Restowed \x1b[1m%s\x1b[0m!\n" "$package"
30 printf "\x1b[1m%s\x1b[0m is not currently stowed. Do you want to stow it? [Y/n] " "$package"
32 if [ "$confirm" != "n" ]; then
33 sudo stow -d /usr/local/stow "$package" && printf "Stowed \x1b[1m%s\x1b[0m!\n" "$package"