diff --git a/.assets/provision/install_base.sh b/.assets/provision/install_base.sh index 815a87bd..57a3fda8 100755 --- a/.assets/provision/install_base.sh +++ b/.assets/provision/install_base.sh @@ -110,6 +110,8 @@ debian | ubuntu) # install base packages pkgs="build-essential bash-completion ca-certificates curl gawk gnupg dnsutils git iputils-tracepath jq lsb-release man-db nmap shfmt openssl tar tig tree unzip vim wget which whois" install_pkgs apt "$pkgs" + # autoremove unnecessary packages and clean up apt cache + apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* ;; opensuse) # refresh package index diff --git a/.assets/provision/install_bat.sh b/.assets/provision/install_bat.sh index 89cc6be9..c501c78f 100755 --- a/.assets/provision/install_bat.sh +++ b/.assets/provision/install_bat.sh @@ -11,6 +11,8 @@ fi # determine system id SYS_ID="$(sed -En '/^ID.*(alpine|arch|fedora|debian|ubuntu|opensuse).*/{s//\1/;p;q}' /etc/os-release)" +# set binary flag if package manager is not supported +binary=false # check if package installed already using package manager APP='bat' case $SYS_ID in diff --git a/.assets/provision/install_exa.sh b/.assets/provision/install_exa.sh index a6256860..ca0d2c63 100755 --- a/.assets/provision/install_exa.sh +++ b/.assets/provision/install_exa.sh @@ -11,6 +11,8 @@ fi # determine system id SYS_ID="$(sed -En '/^ID.*(alpine|arch|fedora|debian|ubuntu|opensuse).*/{s//\1/;p;q}' /etc/os-release)" +# set binary flag if package manager is not supported +binary=false # check if package installed already using package manager APP='exa' case $SYS_ID in diff --git a/.assets/provision/install_eza.sh b/.assets/provision/install_eza.sh index 58360345..61052c33 100755 --- a/.assets/provision/install_eza.sh +++ b/.assets/provision/install_eza.sh @@ -11,6 +11,8 @@ fi # determine system id SYS_ID="$(sed -En '/^ID.*(alpine|arch|fedora|debian|ubuntu|opensuse).*/{s//\1/;p;q}' /etc/os-release)" +# set binary flag if package manager is not supported +binary=false # check if package installed already using package manager APP='eza' case $SYS_ID in diff --git a/.assets/provision/install_fzf.sh b/.assets/provision/install_fzf.sh index 2fdf5703..6f300f54 100755 --- a/.assets/provision/install_fzf.sh +++ b/.assets/provision/install_fzf.sh @@ -26,6 +26,9 @@ fedora | opensuse) debian | ubuntu) dpkg -s $APP &>/dev/null && exit 0 || true ;; +*) + true + ;; esac case $SYS_ID in @@ -33,16 +36,19 @@ alpine) apk add --no-cache $APP >&2 2>/dev/null ;; arch) - pacman -Sy --needed --noconfirm $APP >&2 2>/dev/null || binary=true + pacman -Sy --needed --noconfirm $APP >&2 2>/dev/null ;; fedora) - dnf install -y $APP >&2 2>/dev/null || binary=true + dnf install -y $APP >&2 2>/dev/null ;; debian | ubuntu) export DEBIAN_FRONTEND=noninteractive - apt-get update >&2 && apt-get install -y $APP >&2 2>/dev/null || binary=true + apt-get update >&2 && apt-get install -y $APP >&2 2>/dev/null ;; opensuse) - zypper --non-interactive in -y $APP >&2 2>/dev/null || binary=true + zypper --non-interactive in -y $APP >&2 2>/dev/null + ;; +*) + true ;; esac diff --git a/.assets/provision/install_kubecolor.sh b/.assets/provision/install_kubecolor.sh index 06bfee53..9bb3795a 100755 --- a/.assets/provision/install_kubecolor.sh +++ b/.assets/provision/install_kubecolor.sh @@ -11,6 +11,8 @@ fi # determine system id SYS_ID="$(sed -En '/^ID.*(alpine|arch|fedora|debian|ubuntu|opensuse).*/{s//\1/;p;q}' /etc/os-release)" +# set binary flag if package manager is not supported +binary=false # check if package installed already using package manager APP='kubecolor' case $SYS_ID in diff --git a/.assets/provision/install_kubectl.sh b/.assets/provision/install_kubectl.sh index 9afb4f69..cc2b87a8 100755 --- a/.assets/provision/install_kubectl.sh +++ b/.assets/provision/install_kubectl.sh @@ -11,6 +11,8 @@ fi # determine system id SYS_ID="$(sed -En '/^ID.*(alpine|arch|fedora|debian|ubuntu|opensuse).*/{s//\1/;p;q}' /etc/os-release)" +# set binary flag if package manager is not supported +binary=false # check if package installed already using package manager APP='kubectl' case $SYS_ID in diff --git a/.assets/provision/install_minikube.sh b/.assets/provision/install_minikube.sh index 4e9098de..7915ecf2 100755 --- a/.assets/provision/install_minikube.sh +++ b/.assets/provision/install_minikube.sh @@ -11,6 +11,8 @@ fi # determine system id SYS_ID="$(sed -En '/^ID.*(alpine|arch|fedora|debian|ubuntu|opensuse).*/{s//\1/;p;q}' /etc/os-release)" +# set binary flag if package manager is not supported +binary=false # check if package installed already using package manager APP='minikube' case $SYS_ID in diff --git a/.assets/provision/install_pwsh.sh b/.assets/provision/install_pwsh.sh index 2efdca2c..be6f764f 100755 --- a/.assets/provision/install_pwsh.sh +++ b/.assets/provision/install_pwsh.sh @@ -14,7 +14,14 @@ fi # define variables APP='pwsh' -REL=${1:-} +# TODO: remove on GA release of PowerShell 7.6 +if grep -qw 'trixie' /etc/os-release 2>/dev/null; then + REL='7.6.0-rc.1' + libicu='libicu76' +else + REL=${1:-} + libicu='libicu67' +fi # get latest release if not provided as a parameter if [ -z "$REL" ]; then REL="$(get_gh_release_latest --owner 'PowerShell' --repo 'PowerShell')" @@ -37,6 +44,8 @@ fi printf "\e[92minstalling \e[1m$APP\e[22m v$REL\e[0m\n" >&2 # determine system id SYS_ID="$(sed -En '/^ID.*(alpine|arch|fedora|debian|ubuntu|opensuse).*/{s//\1/;p;q}' /etc/os-release)" +# set binary flag if package manager is not supported +binary=false case $SYS_ID in alpine) @@ -76,7 +85,7 @@ fedora) ;; debian | ubuntu) export DEBIAN_FRONTEND=noninteractive - [ "$SYS_ID" = 'debian' ] && apt-get update >&2 && apt-get install -y libicu76 >&2 2>/dev/null || true + [ "$SYS_ID" = 'debian' ] && apt-get update >&2 && apt-get install -y "$libicu" >&2 2>/dev/null || true # create temporary dir for the downloaded binary TMP_DIR=$(mktemp -d -p "$HOME") trap 'rm -fr "$TMP_DIR"' EXIT diff --git a/.assets/provision/install_ripgrep.sh b/.assets/provision/install_ripgrep.sh index 2555cda2..a7c89d39 100755 --- a/.assets/provision/install_ripgrep.sh +++ b/.assets/provision/install_ripgrep.sh @@ -11,6 +11,8 @@ fi # determine system id SYS_ID="$(sed -En '/^ID.*(alpine|arch|fedora|debian|ubuntu|opensuse).*/{s//\1/;p;q}' /etc/os-release)" +# set binary flag if package manager is not supported +binary=false # check if package installed already using package manager APP='ripgrep' case $SYS_ID in