From 439f40bef171626521254ebd66381235044ed399 Mon Sep 17 00:00:00 2001 From: rainbowsmaug Date: Mon, 30 Jun 2025 21:54:48 -0500 Subject: [PATCH] added sudo logic --- bootstrap.sh | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/bootstrap.sh b/bootstrap.sh index 23340c4..23cbb66 100644 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -14,6 +14,26 @@ COMMON_PACKAGES=( fzf ) +# ------------------------------ +# Privilege Detection +# ------------------------------ + +if [[ "$EUID" -eq 0 ]]; then + SUDO="" + echo "✅ Running as root — no sudo needed." +else + if command -v sudo >/dev/null 2>&1; then + SUDO="sudo" + echo "⚠ Not running as root — using sudo where needed." + else + echo "❌ This script requires root privileges to install packages." + echo "Please either:" + echo " - Run this script as root" + echo " - Or install sudo and add your user to the sudo group" + exit 1 + fi +fi + # ------------------------------ # Detect Distro # ------------------------------ @@ -51,26 +71,26 @@ detect_os() { # ------------------------------ install_packages_debian() { - apt update -y - apt install -y "${COMMON_PACKAGES[@]}" + ${SUDO} apt update -y + ${SUDO} apt install -y "${COMMON_PACKAGES[@]}" } install_packages_arch() { - pacman -Syu --noconfirm - pacman -S --noconfirm "${COMMON_PACKAGES[@]}" + ${SUDO} pacman -Syu --noconfirm + ${SUDO} pacman -S --noconfirm "${COMMON_PACKAGES[@]}" } install_packages_alpine() { - apk update - apk add "${COMMON_PACKAGES[@]}" + ${SUDO} apk update + ${SUDO} apk add "${COMMON_PACKAGES[@]}" } install_packages_rhel() { - yum install -y "${COMMON_PACKAGES[@]}" + ${SUDO} yum install -y "${COMMON_PACKAGES[@]}" } install_packages_fedora() { - dnf install -y "${COMMON_PACKAGES[@]}" + ${SUDO} dnf install -y "${COMMON_PACKAGES[@]}" } # ------------------------------