install script optimizations

This commit is contained in:
pika 2025-05-04 21:19:52 +02:00
parent b039be8052
commit 80eb2617ea

View file

@ -62,6 +62,7 @@ get_packager() {
"apt")
$_sudo apt-get update
_install() { $_sudo apt-get install --assume-yes "$@"; }
arch="false"
;;
"pacman")
$_sudo pacman -Syy
@ -75,17 +76,21 @@ get_packager() {
echo_info "Using no aur helper!"
_install() { $_sudo pacman -S --noconfirm "$@"; }
fi
arch="true"
;;
"dnf")
$_sudo dnf update
_install() { $_sudo dnf install -y "$@"; }
arch="false"
;;
"apk")
_install() { $_sudo apk add "$@"; }
arch="false"
;;
"zypper")
$_sudo zypper ref
_install() { $_sudo zypper in -y "$@"; }
arch="false"
;;
esac
fi
@ -113,6 +118,7 @@ __pre_stow__() {
"waybar"
"wlogout"
"wob"
"zellij"
)
if [ ! -d "$bak_dir" ]; then
@ -141,7 +147,7 @@ __pre_stow__() {
fi
done
for _d in ".zsh .tmux"; do
for _d in ".zsh .tmux .fzf"; do
if [ -d "$HOME/$_d" ]; then
mv -f "$HOME/$_d" "$bak_dir" && echo_info "Moved $_d to $bak_dir"
fi
@ -149,6 +155,11 @@ __pre_stow__() {
}
askThings() {
if [ ! -d ./dotfiles/.config/tmux/ ] && [ ! -d ./dotfiles/.config/zellij/ ]; then
echo_info "Choose a menu - [t]mux || [z]ellij || [n]one"
read -r askMultiPlexer </dev/tty
fi
if [ ! -d ./dotfiles/.config/rofi/ ] && [ ! -d ./dotfiles/.config/tofi/ ]; then
echo_info "Choose a menu - [r]ofi || [t]ofi"
read -r askMenu </dev/tty
@ -204,10 +215,21 @@ ask_Neovide() {
case "$askNeovide" in
[yY])
cloneDots "neovide"
neovide="true"
;;
esac
}
instPika() {
if ! command_exists "$1"; then
if command_exists curl; then
curl -fsSL "https://git.k4li.de/scripts/installs/raw/branch/main/${1}.sh" | bash
else
echo_warning "curl was not found, could not install $1!"
fi
fi
}
cloneDots() {
choise="$1"
cloneName="${2:-$1}"
@ -224,21 +246,56 @@ cloneDots() {
__validate__() {
if askThings; then
case "$askMultiPlexer" in
[tT] | tmux)
cloneDots "tmux"
plexer="tmux"
;;
[zZ] | zellij)
cloneDots "zellij"
plexer="zellij"
;;
esac
case "$askMenu" in
[rR] | rofi) cloneDots "rofi" ;;
[tT] | tofi) cloneDots "tofi" ;;
[rR] | rofi)
cloneDots "rofi"
menu="rofi"
;;
[tT] | tofi)
cloneDots "tofi"
menu="tofi"
;;
esac
case "$askFilemgr" in
[yY] | yazi) cloneDots "yazi" ;;
[rR] | ranger) cloneDots "ranger" ;;
[lL] | lf) cloneDots "lf" ;;
[yY] | yazi)
cloneDots "yazi"
filemgr="yazi"
;;
[rR] | ranger)
cloneDots "ranger"
filemgr="ranger"
;;
[lL] | lf)
cloneDots "lf"
filemgr="lf"
;;
esac
case "$askBar" in
[wW] | waybar) cloneDots "waybar" ;;
[gG] | gBar | gbar) cloneDots "gBar" ;;
[hH] | hyprpanel) cloneDots "hyprpanel" ;;
[wW] | waybar)
cloneDots "waybar"
bar="waybar"
;;
[gG] | gBar | gbar)
cloneDots "gBar"
bar="gBar"
;;
[hH] | hyprpanel)
cloneDots "hyprpanel"
bar="hyprpanel"
;;
esac
case "$askTerminal" in
@ -249,10 +306,22 @@ __validate__() {
esac
case "$askNvim" in
[sS] | standard) cloneDots "nvim" && initNvim && ask_Neovide ;;
[mM] | minimal) cloneDots "nvim-mini" "nvim" && initNvim && ask_Neovide ;;
[aA] | astro) cloneDots "nvim-astro" "nvim" && initNvim && ask_Neovide ;;
[nN] | no) return 0 ;;
[sS] | standard)
neovim="true"
cloneDots "nvim"
;;
[mM] | minimal)
neovim="true"
cloneDots "nvim-mini" "nvim"
;;
[aA] | astro)
neovim="true"
cloneDots "nvim-astro" "nvim"
;;
[nN] | no)
neovim="false"
return 0
;;
esac
else
@ -263,13 +332,17 @@ __validate__() {
__dep__() {
_depss=(
"$bar"
"$menu"
"$filemgr"
"$plexer"
"neovim"
"stow"
"btop"
"entr"
"unzip"
"zip"
"fzf"
"tmux"
"copyq"
"rsync"
"wezterm"
@ -278,12 +351,45 @@ __dep__() {
)
for hyprdots_dependency in "${_depss[@]}"; do
if ! command_exists "$hyprdots_dependency"; then
echo_note "--- installing $hyprdots_dependency ---"
_install "$hyprdots_dependency"
else
echo_info "$hyprdots_dependency is already installed"
fi
case "$hyprdots_dependency" in
zellij)
instPika zellij
;;
yazi)
instPika yazi
;;
hyprpanel)
if ! command_exists hyprpanel; then
if arch; then
_install hyprpanel-ags-git
else
echo_warning "not on arch, cannot install hyprpanel.. yet.."
fi
else
echo_info "hyprpanel - already installed!"
fi
;;
neovim)
if $neovim; then
instPika neovim
initNvim
ask_Neovide
if $neovide; then
instPika neovide
fi
fi
;;
*)
if ! command_exists "$hyprdots_dependency"; then
echo_note "--- installing $hyprdots_dependency ---"
_install "$hyprdots_dependency"
else
echo_info "$hyprdots_dependency - already installed"
fi
;;
esac
done
}
@ -291,7 +397,7 @@ __monitors__() {
if [ ! -e "$HOME/.monitors.conf" ]; then
res="$(hyprctl monitors | grep -oP '\d+x\d+@\d+\.\d+' | head -n 1)"
touch "$HOME/.monitors.conf"
echo "monitor = eDP-1, ${res}, 0x0, 1" >"$HOME/.monitors.conf"
echo "monitor = eDP-1, ${res}, 0x0, 1" >>"$HOME/.monitors.conf"
fi
}