Files
DynastyRevolution-Scripts/core/OS_handler.func
2026-04-13 01:19:22 -04:00

62 lines
1.6 KiB
Bash

#!/usr/bin/env bash
os_detect() {
if [ -f /etc/os-release ]; then
. /etc/os-release
OS_ID=$ID
OS_VERSION_ID=$VERSION_ID
else
OS_ID="unknown"
OS_VERSION_ID="unknown"
fi
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
case "$OS_ID" in
debian|ubuntu)
PKG_MANAGER="apt-get"
PKG_UPDATE="$PKG_MANAGER update"
PKG_INSTALL="$PKG_MANAGER install -y"
PKG_CLEAN="$PKG_MANAGER autoremove -y && $PKG_MANAGER clean"
BUILD_TOOLS="build-essential"
PYTHON_PKG="python3 python3-pip"
;;
fedora|centos|rhel)
PKG_MANAGER="dnf"
PKG_UPDATE="$PKG_MANAGER check-update"
PKG_INSTALL="$PKG_MANAGER install -y"
PKG_CLEAN="$PKG_MANAGER autoremove -y && $PKG_MANAGER clean all"
BUILD_TOOLS="@development-tools"
PYTHON_PKG="python3 python3-pip"
;;
alpine)
PKG_MANAGER="apk"
PKG_UPDATE="$PKG_MANAGER update"
PKG_INSTALL="$PKG_MANAGER add"
PKG_CLEAN="rm -rf /var/cache/apk/*"
BUILD_TOOLS="build-base"
PYTHON_PKG="python3 py3-pip"
;;
*)
msg_error "Unsupported OS: $OS_ID"
exit 1
;;
esac
}
dynr_initialize_node() {
msg_info "Synchronizing $OS_ID Environment..."
$PKG_UPDATE >/dev/null 2>&1
if [[ "$OS_ID" == "debian" || "$OS_ID" == "ubuntu" ]]; then
$PKG_INSTALL locales >/dev/null 2>&1
sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen >/dev/null 2>&1
locale-gen en_US.UTF-8 >/dev/null 2>&1
fi
$PKG_INSTALL curl wget git sudo tzdata >/dev/null 2>&1
msg_ok "Universal OS Established."
}
os_detect