Enhance setup scripts to detect OS and determine package manager

- Improved OS detection in bootstrap.sh and setup.sh to handle unsupported OS cases.
- Added a function to determine the package manager (nala, dnf, apt) based on the detected OS.
- Updated package installation commands to use the appropriate package manager.
- Enhanced user feedback with colored output for better visibility during setup and updates.
This commit is contained in:
Peter Wood
2025-05-16 10:24:13 -04:00
parent 9837019ebd
commit 34260be460
3 changed files with 298 additions and 107 deletions

View File

@@ -11,10 +11,48 @@ NC='\033[0m' # No Color
echo -e "${GREEN}Setting up your system...${NC}"
# Detect OS
if [ -f /etc/os-release ]; then
. /etc/os-release
OS_NAME=$ID
OS_VERSION=$VERSION_ID
else
echo -e "${YELLOW}Unable to detect OS, assuming Debian/Ubuntu...${NC}"
OS_NAME="ubuntu"
OS_VERSION="22.04"
fi
echo -e "${GREEN}Detected OS: ${OS_NAME} ${OS_VERSION}${NC}"
# Function to determine the package manager to use
determine_pkg_manager() {
if command -v nala &> /dev/null; then
echo "nala"
elif [ "$OS_NAME" = "fedora" ]; then
echo "dnf"
else
echo "apt"
fi
}
# Determine which package manager to use
PKG_MANAGER=$(determine_pkg_manager)
echo -e "${GREEN}Using package manager: $PKG_MANAGER${NC}"
# Install git if not present
if ! command -v git &>/dev/null; then
echo -e "${YELLOW}Installing git...${NC}"
sudo apt update && sudo apt install -y git
case $PKG_MANAGER in
nala)
sudo nala install -y git
;;
dnf)
sudo dnf install -y git
;;
apt)
sudo apt update && sudo apt install -y git
;;
esac
fi
# Create shell directory if it doesn't exist