From 6a68d5c382a6f117bd50abfc3274529f72f0f4e2 Mon Sep 17 00:00:00 2001 From: "[yuri]" <[yuri.kuit@gmail.com]> Date: Wed, 10 Dec 2025 20:45:48 +0100 Subject: [PATCH] improved removal handling --- v2/arch-minimal.sh | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/v2/arch-minimal.sh b/v2/arch-minimal.sh index 70ce18d..2bb8a09 100755 --- a/v2/arch-minimal.sh +++ b/v2/arch-minimal.sh @@ -39,7 +39,26 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ########################## install_packages() { sudo pacman -Sy; sudo pacman -S --noconfirm --needed "$@"; } is_package_installed() { pacman -Qi "$@" &>/dev/null; } -remove_packages() { sudo pacman -Rs --noconfirm "$@"; } +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 +} say_yellow "Starting minimal setup..."