mirror of
https://github.com/end-4/dots-hyprland.git
synced 2026-06-05 23:09:26 -05:00
Improve virtmon
This commit is contained in:
@@ -344,3 +344,60 @@ function backup_clashing_targets(){
|
||||
x mkdir -p $backup_dir
|
||||
x rsync -av --progress "${args_includes[@]}" "$target_dir/" "$backup_dir/"
|
||||
}
|
||||
function install_cmds(){
|
||||
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
|
||||
v sudo pacman -Syu
|
||||
v 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
|
||||
v sudo apt update -y
|
||||
v 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
|
||||
v 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
|
||||
v sudo zypper refresh
|
||||
v 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 ensure_cmds(){
|
||||
local not_found_cmds=()
|
||||
for cmd in "$@"; do
|
||||
if ! command -v $cmd >/dev/null 2>&1;then
|
||||
not_found_cmds+=($cmd)
|
||||
fi
|
||||
done
|
||||
if [[ ${#not_found_cmds[@]} -gt 0 ]]; then
|
||||
echo -e "${STY_YELLOW}[$0]: Not found: ${not_found_cmds[*]}.${STY_RST}"
|
||||
install_cmds "${not_found_cmds[@]}"
|
||||
fi
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user