62 lines
1.3 KiB
Bash
Executable File
62 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Function to check if a package is installed
|
|
is_installed() {
|
|
pacman -Qi "$1" &> /dev/null
|
|
}
|
|
|
|
# Function to check if a package is installed
|
|
is_group_installed() {
|
|
pacman -Qg "$1" &> /dev/null
|
|
}
|
|
|
|
# Function to install packages if not already installed
|
|
install_packages() {
|
|
local packages=("$@")
|
|
local to_install=()
|
|
|
|
for pkg in "${packages[@]}"; do
|
|
if ! is_installed "$pkg" && ! is_group_installed "$pkg"; then
|
|
to_install+=("$pkg")
|
|
fi
|
|
done
|
|
|
|
if [ ${#to_install[@]} -ne 0 ]; then
|
|
echo "Installing: ${to_install[*]}"
|
|
yay -S --noconfirm "${to_install[@]}"
|
|
fi
|
|
}
|
|
|
|
# Function to remove pacman/AUR packages if installed
|
|
remove_packages() {
|
|
local packages=("$@")
|
|
local to_remove=()
|
|
|
|
for pkg in "${packages[@]}"; do
|
|
if is_installed "$pkg"; then
|
|
to_remove+=("$pkg")
|
|
fi
|
|
done
|
|
|
|
if [ ${#to_remove[@]} -ne 0 ]; then
|
|
echo "Removing: ${to_remove[*]}"
|
|
sudo pacman -Rns --noconfirm "${to_remove[@]}"
|
|
fi
|
|
}
|
|
|
|
# Function to remove flatpak applications if installed
|
|
remove_flatpaks() {
|
|
local flatpaks=("$@")
|
|
local to_remove=()
|
|
|
|
for pak in "${flatpaks[@]}"; do
|
|
if flatpak list | grep -qi "$pak"; then
|
|
to_remove+=("$pak")
|
|
fi
|
|
done
|
|
|
|
if [ ${#to_remove[@]} -ne 0 ]; then
|
|
echo "Removing flatpaks: ${to_remove[*]}"
|
|
flatpak uninstall --noninteractive "${to_remove[@]}"
|
|
fi
|
|
} |