diff --git a/snigdhaos-libs/install-package b/snigdhaos-libs/install-package index 1d582fcd..b8a18a02 100755 --- a/snigdhaos-libs/install-package +++ b/snigdhaos-libs/install-package @@ -1,15 +1,25 @@ #!/bin/bash set -e +# Determine whether to use GUI authentication based on environment and variable SNIGDHAOSLIB_GUI="${SNIGDHAOSLIB_GUI:-true}" +# If running in a non-graphical environment, disable GUI authentication if [ -z "$DISPLAY" ]; then SNIGDHAOSLIB_GUI=false fi +# Check if we need to run with elevated privileges and handle accordingly if [[ $EUID -ne 0 ]] && [ "$SNIGDHAOSLIB_GUI" == "true" ]; then + # Use pkexec to elevate with GUI if necessary exec pkexec /usr/lib/snigdhaos/install-package "$@" exit 1 fi -sudo pacman -S --noconfirm "$@" +# Use sudo for elevation if we are not using pkexec +if [[ $EUID -ne 0 ]]; then + sudo pacman -S --noconfirm "$@" +else + # If we're already root, simply run pacman + pacman -S --noconfirm "$@" +fi