
#!/usr/bin/env bash
set -Eeuo pipefail

APP_NAME="CyberKoala Nexus"
VERSION="0.1.0"

BASE_URL="https://ccalls.site/nexus/downloads"

PACKAGES=(
    "cyberkoala-nexus-${VERSION}-alt1.x86_64.rpm"
    "cyberkoala-nexus-extras-${VERSION}-alt1.noarch.rpm"
)

TMP_DIR="$(mktemp -d)"
trap 'rm -rf "$TMP_DIR"' EXIT

log() {
    echo -e "\033[1;34m[CyberKoala Nexus]\033[0m $*"
}

error() {
    echo -e "\033[1;31m[ERROR]\033[0m $*" >&2
    exit 1
}

# Проверка ALT Linux
if [[ ! -f /etc/altlinux-release ]]; then
    error "Этот установщик предназначен для ALT Linux."
fi

# Проверка архитектуры
ARCH="$(uname -m)"
[[ "$ARCH" == "x86_64" ]] || error "Поддерживается только x86_64."

# Получение root
if [[ "$EUID" -ne 0 ]]; then
    command -v sudo >/dev/null 2>&1 || error "Установите sudo или запустите скрипт от root."
    exec sudo bash "$0" "$@"
fi

# Проверка зависимостей
command -v curl >/dev/null 2>&1 || error "Не найден curl."

log "Начинаем установку $APP_NAME..."

# Скачивание пакетов
for PACKAGE in "${PACKAGES[@]}"; do
    log "Скачивание $PACKAGE..."

    curl -fL --retry 3 \
        "$BASE_URL/$PACKAGE" \
        -o "$TMP_DIR/$PACKAGE" \
        || error "Не удалось скачать $PACKAGE"
done

# Установка
log "Установка RPM-пакетов..."

apt-get install -y \
    "$TMP_DIR/${PACKAGES[0]}" \
    "$TMP_DIR/${PACKAGES[1]}" \
    || error "Ошибка установки пакетов."

log "$APP_NAME успешно установлен!"
