#!/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"|"archarm") 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 install java 17.0.9-graal sdk install 8.0.402-tem sdk selfupdate sdk update ;; *) echo ":: No supported distribution found." echo " Install these packages manually:" echo " bash ncurses nano rustup bat moar fireplace fortune-mod cowsay ytfzf yt-dlp tar zstd gzip bzip zip unrar unzip 7z ccache sccache ['ar' or 'binutils']" echo " Then do this:" echo " 1. Install the nightly rust toolchain and execute \"cargo install eza\"" echo " 2. Install sdkman by executing \"curl -s 'https://get.sdkman.io|bash'\"" echo " 3. Execute \"sdk install java 17.0.9-graal\" and \"sdk install 8.0.402-tem\"" ;; esac