46 lines
1.4 KiB
Bash
Executable file
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
|