forked from Shinonome/dots-hyprland
Improve distro determine
This commit is contained in:
@@ -9,38 +9,49 @@ function vianix-warning(){
|
|||||||
pause
|
pause
|
||||||
}
|
}
|
||||||
function install_cmds(){
|
function install_cmds(){
|
||||||
if [[ "$OS_DISTRO_ID" == "arch" || "$OS_DISTRO_ID_LIKE" == "arch" || "$OS_DISTRO_ID" == "cachyos" ]]; then
|
case $OS_GROUP_ID in
|
||||||
local pkgs=()
|
"arch")
|
||||||
for cmd in "$@";do
|
local pkgs=()
|
||||||
# For package name which is not cmd name, use "case" syntax to replace
|
for cmd in "$@";do
|
||||||
pkgs+=($cmd)
|
# For package name which is not cmd name, use "case" syntax to replace
|
||||||
done
|
pkgs+=($cmd)
|
||||||
x sudo pacman -Syu
|
done
|
||||||
x sudo pacman -S --noconfirm --needed "${pkgs[@]}"
|
x sudo pacman -Syu
|
||||||
elif [[ "$OS_DISTRO_ID" == "debian" || "$OS_DISTRO_ID_LIKE" == "debian" ]]; then
|
x sudo pacman -S --noconfirm --needed "${pkgs[@]}"
|
||||||
local pkgs=()
|
;;
|
||||||
for cmd in "$@";do
|
"debian")
|
||||||
# For package name which is not cmd name, use "case" syntax to replace
|
local pkgs=()
|
||||||
pkgs+=($cmd)
|
for cmd in "$@";do
|
||||||
done
|
# For package name which is not cmd name, use "case" syntax to replace
|
||||||
x sudo apt update -y
|
pkgs+=($cmd)
|
||||||
x sudo apt install -y "${pkgs[@]}"
|
done
|
||||||
elif [[ "$OS_DISTRO_ID" == "fedora" || "$OS_DISTRO_ID_LIKE" == "fedora" ]]; then
|
x sudo apt update -y
|
||||||
local pkgs=()
|
x sudo apt install -y "${pkgs[@]}"
|
||||||
for cmd in "$@";do
|
;;
|
||||||
# For package name which is not cmd name, use "case" syntax to replace
|
"fedora")
|
||||||
pkgs+=($cmd)
|
local pkgs=()
|
||||||
done
|
for cmd in "$@";do
|
||||||
x sudo dnf install -y "${pkgs[@]}"
|
# For package name which is not cmd name, use "case" syntax to replace
|
||||||
elif [[ "$OS_DISTRO_ID" =~ ^(opensuse-leap|opensuse-tumbleweed)$ ]] || [[ "$OS_DISTRO_ID_LIKE" =~ ^(opensuse|suse)(\ (opensuse|suse))?$ ]]; then
|
pkgs+=($cmd)
|
||||||
local pkgs=()
|
done
|
||||||
for cmd in "$@";do
|
x sudo dnf install -y "${pkgs[@]}"
|
||||||
# For package name which is not cmd name, use "case" syntax to replace
|
;;
|
||||||
pkgs+=($cmd)
|
"suse")
|
||||||
done
|
local pkgs=()
|
||||||
x sudo zypper refresh
|
for cmd in "$@";do
|
||||||
x sudo zypper -n install "${pkgs[@]}"
|
# For package name which is not cmd name, use "case" syntax to replace
|
||||||
fi
|
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(){
|
function install_nix(){
|
||||||
# https://github.com/NixOS/experimental-nix-installer
|
# https://github.com/NixOS/experimental-nix-installer
|
||||||
|
|||||||
+18
-10
@@ -31,15 +31,7 @@ function print_os_group_id_unofficial(){
|
|||||||
printf "============\n\n"
|
printf "============\n\n"
|
||||||
printf "${STY_RST}"
|
printf "${STY_RST}"
|
||||||
}
|
}
|
||||||
function print_os_group_id_fallback(){
|
function print_os_group_id_unsupported(){
|
||||||
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(){
|
|
||||||
printf "${STY_RED}"
|
printf "${STY_RED}"
|
||||||
printf "===CAUTION===\n"
|
printf "===CAUTION===\n"
|
||||||
printf "\"--via-nix\" is forcely specified as the only method to support your distro.\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 "Proceed only at your own risk.\n"
|
||||||
printf "=============\n\n"
|
printf "=============\n\n"
|
||||||
printf "${STY_RST}"
|
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(){
|
function print_os_group_id_architecture(){
|
||||||
printf "${STY_RED}"
|
printf "${STY_RED}"
|
||||||
@@ -99,10 +99,18 @@ elif [[ "$OS_DISTRO_ID" == "fedora" ]]; then
|
|||||||
elif [[ "$OS_DISTRO_ID_LIKE" == "fedora" ]]; then
|
elif [[ "$OS_DISTRO_ID_LIKE" == "fedora" ]]; then
|
||||||
OS_GROUP_ID="fedora"
|
OS_GROUP_ID="fedora"
|
||||||
print_os_group_id_functions=(print_os_group_id{,_alike,_unofficial})
|
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
|
else
|
||||||
OS_GROUP_ID="fallback"
|
OS_GROUP_ID="fallback"
|
||||||
INSTALL_VIA_NIX=true
|
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
|
fi
|
||||||
|
|
||||||
####################
|
####################
|
||||||
|
|||||||
Reference in New Issue
Block a user