diff --git a/core/tabs/system-setup/arch/blackarch.sh b/core/tabs/system-setup/arch/blackarch.sh new file mode 100644 index 0000000..1c9ce53 --- /dev/null +++ b/core/tabs/system-setup/arch/blackarch.sh @@ -0,0 +1,93 @@ +#!/bin/sh + +# ╭───────────────╮ +# │ 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" +} + +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 +} + +# ──────────────────────< Check if the given command exists silently >────────────────────── +command_exists() { + command -v "$@" >/dev/null 2>&1 +} + +# ╭────────────────────────────────────╮ +# │ insert your scripts/functions here │ +# ╰────────────────────────────────────╯ +tmpdir="$(mktemp -d)" + +check_deps() { + if ! command_exists curl; then + echo_error "You have no curl installed!" + exit 1 + fi +} + +init() { + if [ -d "$tmpdir" ]; then + cd $tmpdir || echo_error "$tmpdir does not exist" + curl -O https://blackarch.org/strap.sh + echo bbf0a0b838aed0ec05fff2d375dd17591cbdf8aa strap.sh | sha1sum -c + fi +} + +script_exec() { + if [ -e ./strap.sh ]; then + chmod +x ./strap.sh + $_sudo ./strap.sh + fi +} + +# ───────────────────────────────< main function to execute >─────────────────────────────── +main() { + if check_root; then + check_deps + init + script_exec + else + echo_error "Something went terribly wrong!" + fi +} + +main diff --git a/core/tabs/system-setup/tab_data.toml b/core/tabs/system-setup/tab_data.toml index 472ee31..42e7547 100644 --- a/core/tabs/system-setup/tab_data.toml +++ b/core/tabs/system-setup/tab_data.toml @@ -27,6 +27,11 @@ description = "Yet Another Yogurt - An AUR Helper Written in Go.\nTo know more a script = "arch/yay-setup.sh" task_list = "I" +[[data.entries]] +name = "Blackarch setup" +description = "You can install blackarch repositories and packages through this script, if your on arch already (which you should, if you're seeing this)" +script = "arch/blackarch.sh" = "I" + [[data]] name = "Debian"