#!/bin/bash # _ _ _ # | | (_) |__ _ __ __ _ _ __ _ _ # | | | | '_ \| '__/ _` | '__| | | | # | |___| | |_) | | | (_| | | | |_| | # |_____|_|_.__/|_| \__,_|_| \__, | # |___/ # # by Benjamin Palko [based on Stephan Raabe] (2023) # ----------------------------------------------------- # ------------------------------------------------------ # Function: Is package installed # ------------------------------------------------------ _isInstalledPacman() { package="$1" check="$(sudo pacman -Qs --color always "${package}" | grep "local" | grep "${package} ")" if [ -n "${check}" ]; then echo 0 #'0' means 'true' in Bash return #true fi echo 1 #'1' means 'false' in Bash return #false } _isInstalledYay() { package="$1" check="$(yay -Qs --color always "${package}" | grep "local" | grep "\." | grep "${package} ")" if [ -n "${check}" ]; then echo 0 #'0' means 'true' in Bash return #true fi echo 1 #'1' means 'false' in Bash return #false } # ------------------------------------------------------ # Function Install all package if not installed # ------------------------------------------------------ _installPackagesPacman() { toInstall=() for pkg; do if [[ $(_isInstalledPacman "${pkg}") == 0 ]]; then echo ":: ${pkg} is already installed." continue fi toInstall+=("${pkg}") done if [[ "${toInstall[@]}" == "" ]]; then # echo "All pacman packages are already installed."; return fi # printf "Package not installed:\n%s\n" "${toInstall[@]}"; sudo pacman --noconfirm -S "${toInstall[@]}" } _installPackagesYay() { toInstall=() for pkg; do if [[ $(_isInstalledYay "${pkg}") == 0 ]]; then echo ":: ${pkg} is already installed." continue fi toInstall+=("${pkg}") done if [[ "${toInstall[@]}" == "" ]]; then # echo "All packages are already installed."; return fi # printf "AUR packags not installed:\n%s\n" "${toInstall[@]}"; yay --noconfirm -S "${toInstall[@]}" }