From 33873365d6d12d66ed412068d8a262189ab4b55e Mon Sep 17 00:00:00 2001 From: pika Date: Wed, 7 May 2025 14:26:37 +0200 Subject: [PATCH] wip --- hyprland.sh | 62 ++++++++++++++++-------------- yazi.sh | 106 ++++++---------------------------------------------- 2 files changed, 45 insertions(+), 123 deletions(-) diff --git a/hyprland.sh b/hyprland.sh index 5c0863c..894866e 100644 --- a/hyprland.sh +++ b/hyprland.sh @@ -76,35 +76,39 @@ askThings() { ;; esac - echo_note "What bar do you want to install? (available: [w]aybar, [h]yprpanel, [g]Bar)" - read -r askBar ─────────────────────────────────────────────────────────────────── - RED='\033[0;31m' - CYAN='\033[0;36m' - YELLOW='\033[0;33m' - LIGHT_GREEN='\033[0;92m' - BOLD='\033[1m' - NC='\033[0m' # No Color - - echo_error() { - printf "${BOLD}${RED}ERROR: ${NC}${RED}%s${NC}\n" "$1" >&2 - } - - echo_info() { - printf "${BOLD}${CYAN}INFO: ${NC}${CYAN}%s${NC}\n" "$1" - } - - echo_warning() { - printf "${BOLD}${YELLOW}WARNING: ${NC}${YELLOW}%s${NC}\n" "$1" - } - - echo_note() { - printf "${BOLD}${LIGHT_GREEN}NOTE: ${NC}${LIGHT_GREEN}%s${NC}\n" "$1" - } + #!/usr/bin/env bash # ─< Check if the given command exists silently >───────────────────────────────────────── command_exists() { command -v "$@" >/dev/null 2>&1 } - # ─< Check if the user is root and set sudo variable if necessary >─────────────────────── - check_root() { - if [ "$(id -u)" -ne 0 ]; then - if command_exists sudo; then - echo_info "User is not root. Using sudo for privileged operations." - _sudo="sudo" - else - echo_error "No sudo found and you're not root! Can't install packages." - return 1 - fi - else - echo_info "Root access confirmed." - _sudo="" - fi - } + if command_exists curl; then + eval <"$(curl -fsSL https://git.k4li.de/scripts/imports/raw/branch/main/distros.sh)" + else + echo "curl is required, but missing.." + exit 1 + fi evalCargo() { if [ -e "$HOME/.cargo/env" ]; then @@ -53,7 +20,7 @@ fi } - i_cargo() { + i_yazi() { # if ! command_exists make || ! command_exists gcc; then # echo_error "The script might run into issues, because of make and gcc not being installed. Please install it, and run the script again, if it fails!" # fi @@ -67,7 +34,6 @@ evalCargo rustup update - evalCargo echo_info "Installing yazi through cargo" else @@ -79,16 +45,6 @@ c_yazi } - i_arch() { - $_sudo pacman -S yazi --noconfirm - c_yazi - } - - i_opensuse() { - $_sudo zypper install yazi - c_yazi - } - c_yazi() { if [ -e "$HOME/.config/yazi/package.toml" ]; then if command_exists ya; then @@ -99,49 +55,11 @@ fi } - # ─< Distribution detection and installation >──────────────────────────────────────── - get_packager() { - if [ -e /etc/os-release ]; then - echo_info "Detecting distribution..." - . /etc/os-release - - # ─< Convert $ID and $ID_LIKE to lowercase >────────────────────────────────────────────── - ID=$(printf "%s" "$ID" | tr '[:upper:]' '[:lower:]') - ID_LIKE=$(printf "%s" "$ID_LIKE" | tr '[:upper:]' '[:lower:]') - - case "$ID" in - ubuntu | pop) i_cargo ;; - debian) i_cargo ;; - fedora) i_cargo ;; - alpine) i_cargo ;; - arch | manjaro | garuda | endeavour) i_arch ;; - opensuse*) i_opensuse ;; - *) - if [ "${ID_LIKE#*debian}" != "$ID_LIKE" ]; then - i_cargo - elif [ "${ID_LIKE#*ubuntu}" != "$ID_LIKE" ]; then - i_cargo - elif [ "${ID_LIKE#*arch}" != "$ID_LIKE" ]; then - i_arch - elif [ "${ID_LIKE#*fedora}" != "$ID_LIKE" ]; then - i_cargo - elif [ "${ID_LIKE#*suse}" != "$ID_LIKE" ]; then - i_opensuse - else - echo_error "Unsupported distribution: $ID" - exit 1 - fi - ;; - esac - else - echo_error "Unable to detect distribution. /etc/os-release not found." - exit 1 - fi - } - main() { - if check_root; then - get_packager + if $arch || $opensuse; then + _install yazi + else + i_yazi fi }