diff --git a/archpkgs b/archpkgs
index 20121f1..f0a1877 100644
--- a/archpkgs
+++ b/archpkgs
@@ -25,6 +25,7 @@ clang
cmake
cpupower
dart-sass
+doas-sudo-shim
dolphin-emu
dracula-gtk-theme-git
dracula-kde-theme-git
diff --git a/bin/clean b/bin/clean
deleted file mode 100755
index b120f3a..0000000
--- a/bin/clean
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-#shellcheck disable=SC2046
-yay -Scc
-fc-cache -frvs
-rm -r ~/.cache/* ~/.wine/* ~/.local/pipx/.cache/
-fish -c "j --purge"
-doas journalctl --vacuum-size=1K
-bleachbit -c $(bleachbit -l|rg -v 'system.free_disk_space|system.memory')
-doas bleachbit -c $(bleachbit -l|rg -v 'system.free_disk_space|system.memory')
diff --git a/bin/comparedir b/bin/comparedir
index f2f91a4..b357bac 100755
--- a/bin/comparedir
+++ b/bin/comparedir
@@ -6,4 +6,3 @@ for i in $(fd -t f); do
mv "$i" "$1/$i"
fi
done
-
diff --git a/bin/hitolo b/bin/hitolo
deleted file mode 100755
index f87bf9f..0000000
--- a/bin/hitolo
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-mkdir foo
-ifuse --documents com.foobar2000.mobile foo || exit 1
-# https://github.com/smxi/acxi/raw/stable/acxi
-acxi -s ~/Music/HiFi -d "$PWD/foo" -o opus -q 128 --clean sync -F 16 -c mp3,m4a,opus,ogg
-fusermount -u foo
-rmdir foo
diff --git a/bin/jqf b/bin/jqf
deleted file mode 100755
index 5445e56..0000000
--- a/bin/jqf
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-in=$(mktemp)
-cat > "$in"
-fzf --preview-window='up:99%' --preview "jq --color-output -r {q} $in $1"
-rm -f "$in"
diff --git a/bin/nse b/bin/nse
deleted file mode 100755
index e237877..0000000
--- a/bin/nse
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-d=$(mktemp -d)
-bsdtar xf "$@" -C"$d"
-t=$(fd -e ncx . "$d")
-xml_grep content "$t" | uniq | grep content | cut -d\" -f2 |\
- sed -e 's#.*#&
#' -e 's#">[^/<]*/#">#'\
- -e 's/\.xhtml/\.html/g' > "$(dirname "$t")"/index.html
-fd -e xhtml . "$d" -x mv {} '{.}'.html
-if test -z "$BROWSER"; then
- BROWSER=netsurf
-fi
-eval "$BROWSER" "$(dirname "$t")"/index.html
-rm -rf "$d"
diff --git a/bin/optiall b/bin/optiall
deleted file mode 100755
index f036dea..0000000
--- a/bin/optiall
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-fd -e pdf -x qpdf --stream-data=compress --replace-input --compress-streams=y --recompress-flate --compression-level=9 --optimize-images {}
-
-fd -e jpg -e jpeg -x jpegoptim
-fd -e webp -x cwebp -z 9 -mt {} -o {}
-
-fd -t f -x advzip -z3
-fd -t f -x advdef -z3
-
-fd -e mp3 -x mp3packer \; -x mv '{.}'-vbr.mp3 {}
-
-fd -e so -x strip
diff --git a/bin/undeflate b/bin/undeflate
deleted file mode 100755
index 0a2bf1e..0000000
--- a/bin/undeflate
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-fd -e pdf -x qpdf --stream-data=uncompress --replace-input --compress-streams=n --recompress-flate --compression-level=0 --optimize-images {}
-fd -e \~qpdf-orig -x rm
-fd -t f -x advzip -z0
-fd -e png -x advpng -z0
-fd -t f -x advdef -z0
diff --git a/fish/functions/clean.fish b/fish/functions/clean.fish
new file mode 100644
index 0000000..c9031dd
--- /dev/null
+++ b/fish/functions/clean.fish
@@ -0,0 +1,9 @@
+function clean
+ yay -Scc
+ fc-cache -frvs
+ rm -r ~/.cache/* ~/.wine/* ~/.local/pipx
+ fish -c "j --purge"
+ doas journalctl --vacuum-size=1K
+ bleachbit -c (bleachbit -l|rg -v 'system.free_disk_space|system.memory')
+ doas bleachbit -c (bleachbit -l|rg -v 'system.free_disk_space|system.memory')
+end
diff --git a/fish/functions/hitolo.fish b/fish/functions/hitolo.fish
new file mode 100644
index 0000000..d6b08f7
--- /dev/null
+++ b/fish/functions/hitolo.fish
@@ -0,0 +1,8 @@
+function hitolo
+ mkdir /tmp/foo
+ ifuse --documents com.foobar2000.mobile /tmp/foo || return 1
+ # https://github.com/smxi/acxi/raw/stable/acxi
+ acxi -s ~/Music/HiFi -d /tmp/foo -o opus -q 128 --clean sync -F 16 -c mp3,m4a,opus,ogg
+ fusermount -u /tmp/foo
+ rmdir /tmp/foo
+end
diff --git a/fish/functions/optiall.fish b/fish/functions/optiall.fish
new file mode 100644
index 0000000..805c971
--- /dev/null
+++ b/fish/functions/optiall.fish
@@ -0,0 +1,7 @@
+function optiall
+ fd -e jpg -e jpeg -x jpegoptim
+ fd -e mp3 -x mp3packer \; -x mv '{.}'-vbr.mp3 {}
+ fd -e pdf -x qpdf --stream-data=compress --replace-input --compress-streams=y --recompress-flate --compression-level=9 --optimize-images {}
+ fd -t f -x advdef -z3
+ fd -t f -x advzip -z3
+end
diff --git a/fish/functions/undeflate.fish b/fish/functions/undeflate.fish
new file mode 100644
index 0000000..ea54ace
--- /dev/null
+++ b/fish/functions/undeflate.fish
@@ -0,0 +1,7 @@
+function undefalte
+ fd -t f -x advzip -z0
+ fd -t f -x advdef -z0
+ fd -e pdf -x qpdf --stream-data=uncompress --replace-input --compress-streams=n --recompress-flate --compression-level=0 --optimize-images {}
+ fd -e \~qpdf-orig -x rm
+ fd -e png -x advpng -z0
+end