From bfa48d5d1239243fd0cf3917da64f66cb54881c2 Mon Sep 17 00:00:00 2001 From: pika Date: Wed, 25 Jun 2025 20:36:50 +0200 Subject: [PATCH] wip --- pika.sh | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 6 deletions(-) diff --git a/pika.sh b/pika.sh index 1587db1..5aac97b 100755 --- a/pika.sh +++ b/pika.sh @@ -42,11 +42,25 @@ get-packager() { $_sudo apt install --assume-yes "$@" fi } + + update-func() { + if command-exists nala; then + $_sudo nala update + $_sudo nala upgrade --assume-yes --full + else + $_sudo apt-get update + $_sudo apt-get upgrade --assume-yes + fi + } ;; dnf) pkg-install() { $_sudo dnf -y install "$@" } + + update-func() { + $_sudo dnf update -y + } ;; pacman) pkg-install() { @@ -58,16 +72,34 @@ get-packager() { $_sudo pacman --noconfirm -S "$@" fi } + update-func() { + if command-exists paru; then + paru -Syyu + elif command-exists yay; then + yay -Syyu + else + $_sudo pacman -Syyu + fi + } ;; zypper) pkg-install() { $_sudo zypper install "$@" } + update-func() { + $_sudo zypper ref + $_sudo zypper update + } ;; apk) pkg-install() { $_sudo apk add "$@" } + + update-func() { + $_sudo apk update + $_sudo apk upgrade + } ;; esac fi @@ -75,7 +107,9 @@ get-packager() { } source-script() { - i="$1" + local i import + + i=$1 import="$(mktemp)" if command-exists curl; then curl -fsSL $i -o $import @@ -84,18 +118,20 @@ source-script() { exit 1 fi - source "$import" + bash "$import" sleep 0.3 rm "$import" } script-exists() { local install_url=https://git.k4li.de/scripts/installs/raw/branch/main - local script_url + local script_url arr=() - for pkg in "$@"; do + arr=("$@") + + for pkg in "${arr[@]}"; do script_url="${install_url}/${pkg}.sh" - if curl -fsSL $script_url 2>/dev/null; then + if curl -fsSL $script_url &>/dev/null; then return 0 else return 69 @@ -106,8 +142,12 @@ script-exists() { install-func() { local pkg for pkg in "$@"; do + case "$pkg" in + nvim) pkg=neovim ;; + esac + if script-exists $pkg; then - eval "$(curl -fsSL https://git.k4li.de/scripts/installs/raw/branch/main/${pkg}.sh)" + source-script "https://git.k4li.de/scripts/installs/raw/branch/main/$pkg.sh" else pkg-install "$pkg" fi @@ -148,6 +188,10 @@ for arg in "$@"; do shift install-func "$@" ;; + update | u) + shift + update-func "${@:-}" + ;; *) help-func ;;