mirror of
https://github.com/end-4/dots-hyprland.git
synced 2026-06-05 23:09:26 -05:00
Improve distro determine
This commit is contained in:
@@ -9,38 +9,49 @@ function vianix-warning(){
|
||||
pause
|
||||
}
|
||||
function install_cmds(){
|
||||
if [[ "$OS_DISTRO_ID" == "arch" || "$OS_DISTRO_ID_LIKE" == "arch" || "$OS_DISTRO_ID" == "cachyos" ]]; then
|
||||
local pkgs=()
|
||||
for cmd in "$@";do
|
||||
# For package name which is not cmd name, use "case" syntax to replace
|
||||
pkgs+=($cmd)
|
||||
done
|
||||
x sudo pacman -Syu
|
||||
x sudo pacman -S --noconfirm --needed "${pkgs[@]}"
|
||||
elif [[ "$OS_DISTRO_ID" == "debian" || "$OS_DISTRO_ID_LIKE" == "debian" ]]; then
|
||||
local pkgs=()
|
||||
for cmd in "$@";do
|
||||
# For package name which is not cmd name, use "case" syntax to replace
|
||||
pkgs+=($cmd)
|
||||
done
|
||||
x sudo apt update -y
|
||||
x sudo apt install -y "${pkgs[@]}"
|
||||
elif [[ "$OS_DISTRO_ID" == "fedora" || "$OS_DISTRO_ID_LIKE" == "fedora" ]]; then
|
||||
local pkgs=()
|
||||
for cmd in "$@";do
|
||||
# For package name which is not cmd name, use "case" syntax to replace
|
||||
pkgs+=($cmd)
|
||||
done
|
||||
x sudo dnf install -y "${pkgs[@]}"
|
||||
elif [[ "$OS_DISTRO_ID" =~ ^(opensuse-leap|opensuse-tumbleweed)$ ]] || [[ "$OS_DISTRO_ID_LIKE" =~ ^(opensuse|suse)(\ (opensuse|suse))?$ ]]; then
|
||||
local pkgs=()
|
||||
for cmd in "$@";do
|
||||
# For package name which is not cmd name, use "case" syntax to replace
|
||||
pkgs+=($cmd)
|
||||
done
|
||||
x sudo zypper refresh
|
||||
x sudo zypper -n install "${pkgs[@]}"
|
||||
fi
|
||||
case $OS_GROUP_ID in
|
||||
"arch")
|
||||
local pkgs=()
|
||||
for cmd in "$@";do
|
||||
# For package name which is not cmd name, use "case" syntax to replace
|
||||
pkgs+=($cmd)
|
||||
done
|
||||
x sudo pacman -Syu
|
||||
x sudo pacman -S --noconfirm --needed "${pkgs[@]}"
|
||||
;;
|
||||
"debian")
|
||||
local pkgs=()
|
||||
for cmd in "$@";do
|
||||
# For package name which is not cmd name, use "case" syntax to replace
|
||||
pkgs+=($cmd)
|
||||
done
|
||||
x sudo apt update -y
|
||||
x sudo apt install -y "${pkgs[@]}"
|
||||
;;
|
||||
"fedora")
|
||||
local pkgs=()
|
||||
for cmd in "$@";do
|
||||
# For package name which is not cmd name, use "case" syntax to replace
|
||||
pkgs+=($cmd)
|
||||
done
|
||||
x sudo dnf install -y "${pkgs[@]}"
|
||||
;;
|
||||
"suse")
|
||||
local pkgs=()
|
||||
for cmd in "$@";do
|
||||
# For package name which is not cmd name, use "case" syntax to replace
|
||||
pkgs+=($cmd)
|
||||
done
|
||||
x sudo zypper refresh
|
||||
x sudo zypper -n install "${pkgs[@]}"
|
||||
;;
|
||||
*)
|
||||
printf "WARNING\n"
|
||||
printf "No method found to install package providing the commands:\n"
|
||||
printf " $@\n"
|
||||
printf "Please install by yourself.\n"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
function install_nix(){
|
||||
# https://github.com/NixOS/experimental-nix-installer
|
||||
|
||||
+18
-10
@@ -31,15 +31,7 @@ function print_os_group_id_unofficial(){
|
||||
printf "============\n\n"
|
||||
printf "${STY_RST}"
|
||||
}
|
||||
function print_os_group_id_fallback(){
|
||||
printf "${STY_RED}"
|
||||
printf "===CAUTION===\n"
|
||||
printf "No support provided for your distro, using fallback method.\n"
|
||||
printf "Proceed only at your own risk.\n"
|
||||
printf "=============\n\n"
|
||||
printf "${STY_RST}"
|
||||
}
|
||||
function print_os_group_id_force_vianix(){
|
||||
function print_os_group_id_unsupported(){
|
||||
printf "${STY_RED}"
|
||||
printf "===CAUTION===\n"
|
||||
printf "\"--via-nix\" is forcely specified as the only method to support your distro.\n"
|
||||
@@ -48,6 +40,14 @@ function print_os_group_id_force_vianix(){
|
||||
printf "Proceed only at your own risk.\n"
|
||||
printf "=============\n\n"
|
||||
printf "${STY_RST}"
|
||||
sleep 3
|
||||
}
|
||||
function print_os_group_id_fallback(){
|
||||
printf "${STY_RED}"
|
||||
printf "===CAUTION===\n"
|
||||
printf "Distro not recognized, determined as fallback.\n"
|
||||
printf "=============\n\n"
|
||||
printf "${STY_RST}"
|
||||
}
|
||||
function print_os_group_id_architecture(){
|
||||
printf "${STY_RED}"
|
||||
@@ -99,10 +99,18 @@ elif [[ "$OS_DISTRO_ID" == "fedora" ]]; then
|
||||
elif [[ "$OS_DISTRO_ID_LIKE" == "fedora" ]]; then
|
||||
OS_GROUP_ID="fedora"
|
||||
print_os_group_id_functions=(print_os_group_id{,_alike,_unofficial})
|
||||
elif [[ "$OS_DISTRO_ID" =~ ^(opensuse-leap|opensuse-tumbleweed)$ ]] || [[ "$OS_DISTRO_ID_LIKE" =~ ^(opensuse|suse)(\ (opensuse|suse))?$ ]]; then
|
||||
OS_GROUP_ID="suse"
|
||||
INSTALL_VIA_NIX=true
|
||||
print_os_group_id_functions=(print_os_group_id{,_unsupported})
|
||||
elif [[ "$OS_DISTRO_ID" == "debian" || "$OS_DISTRO_ID_LIKE" == "debian" ]]; then
|
||||
OS_GROUP_ID="debian"
|
||||
INSTALL_VIA_NIX=true
|
||||
print_os_group_id_functions=(print_os_group_id{,_unsupported})
|
||||
else
|
||||
OS_GROUP_ID="fallback"
|
||||
INSTALL_VIA_NIX=true
|
||||
print_os_group_id_functions=(print_os_group_id{,_fallback,_force_vianix})
|
||||
print_os_group_id_functions=(print_os_group_id{,_fallback,_unsupported})
|
||||
fi
|
||||
|
||||
####################
|
||||
|
||||
Reference in New Issue
Block a user