Sapphic-Package-Manager/usr/bin/spm_clean
2024-03-01 22:50:13 -07:00

46 lines
1.4 KiB
Bash
Executable file

#!/bin/bash
isroot=false
issudo=false
if [ "$EUID" -eq 0 ];then isroot=true;fi
if [ -n "$SUDO_USER" ]; then issudo=true;fi
usage(){
echo -n "spm "
cat ./usr/share/doc/spm/spm_clean
}
yn=""
while getopts 'hYyNnafp' flag; do
case "${flag}" in
[YyNnafp] ) yn="${yn}${flag}" ;;
h|* ) usage;exit 1 ;;
esac
done
if $isroot; then
echo -e "\033[1mUpdating apt sources...\033[0m"
apt -qqq update
echo -e "\033[1mThe following packages were automatically installed and are no longer required:\033[0m"
apt list '?garbage'
fi
echo -e "\033[1mUnable to preview unused flatpak packages\033[0m"
echo -e "\033[1mUnable to clean pipx packages\033[0m"
while true; do
if [ -z "$yn" ];then
echo "Yy: Clean all"
echo "Nn: Clean nothing"
if $isroot; then echo "Aa: Remove unused apt packages";fi
echo "Ff: Remove unused flatpak packages"
read -p "Clean packages? " yn
fi
case $yn in
*[Nn]* ) exit;;
*[Yya]* ) if $isroot; then echo -e "\033[1mRemoving unused apt packages...\033[0m";apt -y autoremove;fi;;&
*[Yyf]* ) if $issudo; then echo -e "\033[1mRemoving unused flatpak packages...\033[0m";sudo -u $SUDO_USER flatpak uninstall -y --unused;else flatpak uninstall -y --unused;fi;;&
*[p]* ) echo -e "\033[1mUnable to clean pipx packages\033[0m";;&
*[Yyafp]* ) break;;
* ) yn=""; echo "Please select a valid option.";;
esac
done