Files
omarchy/bin/omarchy-pkg-add
T

31 lines
828 B
Bash
Executable File

#!/bin/bash
# omarchy:summary=Install Arch packages if they are missing
# omarchy:args=<packages...>
# omarchy:examples=omarchy pkg add jq ripgrep
# omarchy:requires-sudo=true
# Only the missing ones: an installed package from no repository is a "target not found" to pacman -S.
missing=()
for pkg in "$@"; do
omarchy-pkg-missing "$pkg" && missing+=("$pkg")
done
if (( ${#missing[@]} > 0 )); then
if (( EUID == 0 )); then
pacman -S --noconfirm --needed -- "${missing[@]}" || exit 1
else
sudo pacman -S --noconfirm --needed -- "${missing[@]}" || exit 1
fi
fi
for pkg in "$@"; do
# Secondary check to handle states where pacman doesn't actually register an error
if ! pacman -Q -- "$pkg" &>/dev/null; then
echo -e "\033[31mError: Package '$pkg' did not install\033[0m" >&2
exit 1
fi
done
exit 0