#!/bin/bash if [ ! -f "/sbin/sudo" ]; then echo ":: Error: \"/sbin/sudo\" not found, please install sudo." exit 1 fi echo ":: Detecting distribution" if [ -f "/etc/os-release" ]; then source /etc/os-release fi case "$ID" in "arch") echo ":: Detected ${PRETTY_NAME}, installing packages automatically" if [ ! -f "/sbin/paru" ]; then echo ":: Error: \"/sbin/paru\" not found, please install paru." exit 1 fi if [ "${1}" == "--noconfirm" ]; then export "PARU_FLAGS=--noconfirm" else export "PARU_FLAGS=" fi paru --removemake --batchinstall --sudoloop --mflags "--ignorearch" -Syu --needed bash ncurses nano rustup bat moar fireplace fortune-mod cowsay ytfzf yt-dlp-git tar zstd bzip zip unrar unzip 7-zip binutils ${PARU_FLAGS} rustup default nightly rustup update cargo install eza curl -s "https://get.sdkman.io" | bash export SDKMAN_DIR="$HOME/.sdkman" [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh" sdk selfupdate sdk update java_versions=( '22.0.1' '21.0.3' '17.0.11' '8.0.412' ) for version in "${java_versions[@]}"; do sdk install java "${version}-tem" done sdk default java 21.0.3-tem ;; "archarm") echo ":: Arch Linux ARM is not yet supported" echo " (but will soon be). Just wait a little!" ;; *) echo ":: No supported distribution found." echo " Please create an issue and (if you want)" echo " look into the source code and install" echo " the packages and programs yourself." ;; esac