Skip to content

Instantly share code, notes, and snippets.

@dlford
Forked from luukvbaal/cacheremove.hook
Created February 1, 2022 14:30
Show Gist options
  • Save dlford/64655405dbd4b4b834feef354d9b055d to your computer and use it in GitHub Desktop.
Save dlford/64655405dbd4b4b834feef354d9b055d to your computer and use it in GitHub Desktop.
yay paccache hooks
[Trigger]
Operation = Remove
Type = Package
Target = *
[Action]
Description = Clearing cache...
When = PostTransaction
Exec = /home/<user>/.local/bin/tools/removehook
[Trigger]
Operation = Upgrade
Type = Package
Target = *
[Action]
Description = Clearing cache...
When = PostTransaction
Exec = /home/<user>/.local/bin/tools/upgradehook
#!/bin/sh
yaycache="$(find "$HOME"/.cache/yay -maxdepth 1 -type d | awk '{ print "-c " $1 }' | tail -n +2)"
yayremoved=$(/usr/bin/paccache -ruvk0 $yaycache | sed '/\.cache\/yay/!d' | cut -d \' -f2 | rev | cut -d / -f2- | rev)
[ -z $yayremoved ] || echo "==> Remove all uninstalled package folders" &&
echo $yayremoved | xargs -rt rm -r
#!/bin/sh
yaycache="$(find "$HOME"/.cache/yay -maxdepth 1 -type d | awk '{ print "-c " $1 }' | tail -n +2)"
echo "==> Keep last 2 installed versions"
/usr/bin/paccache -rvk2 -c /var/cache/pacman/pkg $yaycache
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment