#!/usr/bin/env bash # OS-specific aliases # Manually set OS (comment out for auto-detection) export OS="debian" # OS Detection (if not manually set) if [[ -z "$OS" ]]; then if [[ -f /etc/os-release ]]; then OS=$(grep -oP '^ID=\K.+' /etc/os-release | tr -d '"') elif [[ $(uname) == "FreeBSD" ]]; then OS="freebsd" fi export OS fi # OS-Specific Aliases case "$OS" in debian) alias inst='sudo apt-get install -y' alias updt='sudo apt-get update && sudo apt-get upgrade -y && rustup update' ;; ubuntu) alias inst='sudo apt-get install -y' alias updt='sudo apt-get update && sudo apt-get upgrade -y && sudo snap refresh && rustup update' ;; arch|manjaro) alias inst='sudo pacman -S' alias updt='sudo pacman -Syuu --noconfirm && paru -Syu --noconfirm && rustup update' ;; fedora|centos|rhel|rocky|almalinux) alias inst='sudo dnf install -y' alias updt='sudo dnf upgrade -y && rustup update' ;; opensuse*|tumbleweed) alias inst='sudo zypper install -y' alias updt='sudo zypper refresh && sudo zypper update -y && rustup update' ;; void) alias inst='sudo xbps-install -Sy' alias updt='sudo xbps-install -Su && rustup update' ;; alpine) alias inst='sudo apk add' alias updt='sudo apk update && sudo apk upgrade && rustup update' ;; freebsd) alias inst='sudo pkg install -y' alias updt='sudo pkg update && sudo pkg upgrade -y && rustup update' ;; *) echo "No OS-specific aliases for OS: $OS" >&2 ;; esac # Cleanup (unset helper functions if needed) unset -f _detect_os 2>/dev/null