Files
2025-03-10 14:20:56 +09:00

91 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ #
# uninstalling hyprland packages
OK="$(tput setaf 2)[OK]$(tput sgr0)"
ERROR="$(tput setaf 1)[ERROR]$(tput sgr0)"
NOTE="$(tput setaf 3)[NOTE]$(tput sgr0)"
INFO="$(tput setaf 4)[INFO]$(tput sgr0)"
WARN="$(tput setaf 1)[WARN]$(tput sgr0)"
CAT="$(tput setaf 6)[ACTION]$(tput sgr0)"
MAGENTA="$(tput setaf 5)"
WARNING="$(tput setaf 1)"
YELLOW="$(tput setaf 3)"
BLUE="$(tput setaf 4)"
RESET="$(tput sgr0)"
# List of packages to uninstall (including git versions)
packages=(
"aquamarine"
"aquamarine-git"
"hyprutils"
"hyprutils-git"
"hyprcursor"
"hyprcursor-git"
"hyprwayland-scanner"
"hyprwayland-scanner-git"
"hyprgraphics"
"hyprgraphics-git"
"hyprlang"
"hyprlang-git"
"hyprland-protocols"
"hyprland-protocols-git"
"hyprland-qt-support"
"hyprland-qt-support-git"
"hyprland-qtutils"
"hyprland-qtutils-git"
"hyprland"
"hyprland-git"
"hyprlock"
"hyprlock-git"
"hypridle"
"hypridle-git"
"xdg-desktop-portal-hyprland"
"xdg-desktop-portal-hyprland-git"
"hyprpolkitagent"
"hyprpolkitagent-git"
)
# Function for uninstall packages
uninstall_package() {
local pkg="$1"
if pacman -Qi "$pkg" &>> /dev/null ; then
echo -e "${NOTE} Uninstalling $pkg ..."
sudo pacman -Rnsdd --noconfirm "$pkg" | grep -v "error: target not found"
if ! pacman -Qi "$pkg" &>> /dev/null ; then
echo -e "\e[1A\e[K${OK} $pkg was uninstalled."
else
echo -e "\e[1A\e[K${ERROR} $pkg failed to uninstall"
return 1
fi
else
echo -e "${NOTE} $pkg is not installed, skipping uninstallation."
fi
return 0
}
printf "\n%s - Removing Hyprland Packages including -git versions \n" "${NOTE}"
# Track failures but continue with next packages
overall_failed=0
for PKG in "${packages[@]}"; do
uninstall_package "$PKG"
if [ $? -ne 0 ]; then
overall_failed=1
fi
done
# Remove specific configuration file since on my experience, it conflicts.
# Dont worry, it will be reinstalled by either xdph non-git or git version
sudo rm -rf "/usr/share/xdg-desktop-portal/hyprland-portals.conf"
if [ $overall_failed -eq 0 ]; then
echo -e "${OK} All specified hyprland packages have been uninstalled."
fi
printf "\n%.0s" {1..2}