update removal
This commit is contained in:
@@ -38,8 +38,27 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|||||||
# Helper functions
|
# Helper functions
|
||||||
##########################
|
##########################
|
||||||
install_packages() { sudo pacman -S --noconfirm --needed "$@"; }
|
install_packages() { sudo pacman -S --noconfirm --needed "$@"; }
|
||||||
remove_packages() { sudo pacman -Rs --noconfirm "$@"; }
|
|
||||||
is_package_installed() { pacman -Qi "$@" &>/dev/null; }
|
is_package_installed() { pacman -Qi "$@" &>/dev/null; }
|
||||||
|
remove_packages() {
|
||||||
|
local packages_to_remove=()
|
||||||
|
|
||||||
|
# 1. Identify which packages are actually installed
|
||||||
|
for pkg in "$@"; do
|
||||||
|
if is_package_installed "$pkg"; then
|
||||||
|
packages_to_remove+=("$pkg")
|
||||||
|
else
|
||||||
|
say_gray "Package '$pkg' not found. Skipping removal."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# 2. Only run pacman if there are packages to remove
|
||||||
|
if [ ${#packages_to_remove[@]} -gt 0 ]; then
|
||||||
|
say_cyan "Removing packages: ${packages_to_remove[*]}"
|
||||||
|
sudo pacman -Rs --noconfirm "${packages_to_remove[@]}" || true
|
||||||
|
else
|
||||||
|
say_gray "No packages to remove from the list."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
detect_de() {
|
detect_de() {
|
||||||
if command -v plasmashell >/dev/null 2>&1; then
|
if command -v plasmashell >/dev/null 2>&1; then
|
||||||
|
|||||||
Reference in New Issue
Block a user