#!/bin/sh -e # ╭───────────────╮ # │ env functions │ # ╰───────────────╯ # ───────────────────────────────────< ANSI color codes >─────────────────────────────────── 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" } # ─────────────< 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 } # ──────────────────────< Check if the given command exists silently >────────────────────── command_exists() { command -v "$@" >/dev/null 2>&1 } # ╭────────────────────────────────────╮ # │ insert your scripts/functions here │ # ╰────────────────────────────────────╯ hyprSlim="hyprland hyprland-protocols hyprwayland-scanner libhyprcursor-dev wayland-utils wayland-protocols wl-clipboard nwg-look xdg-desktop-portal-hyprland liblz4" hyprAdvanced="$menu pavucontrol pamixer btop bluez wlogout wob" OPTIONAL_SCREENSHOT="grimshot slurp swappy" OPTIONAL_SCREENRECORD="wf-recorder" OPTIONAL_AUDIO="pulseaudio pavucontrol" OPTIONAL_NOTIFY="sway-notification-center libnotify" OPTIONAL_UTILS="brightnessctl network-manager-gnome gnome-keyring swayidle playerctl" OPTIONAL_FILES="xdg-user-dirs nautilus gvfs" OPTIONAL_SDDM_DEPS="qml6-module-qtquick-controls qml6-module-qtquick-effects sddm" BUILD_DEPS="git gcc make cmake meson ninja-build pkg-config" RUST_DEPS="cargo rustc" # Separate rust dependencies askThings() { echo_note "Do you want to install hyprland? (y/N)" read -r askHyprland ─────────────────────────────── main() { if check_root; then askThings if [ "$askHyprland" = "true" ]; then checkDependencies instDeps instTools checkConfig fi else echo_error "Something went terribly wrong!" fi } main