#!/bin/bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" CONFIG_DIR="$HOME/.config" log() { echo -e "\n\033[1;34m=== $1 ===\033[0m"; } # ─── 1. ПАКЕТЫ ─────────────────────────────────────────────── log "Обновление системы и установка пакетов из репозиториев" sudo pacman -Syu --needed --noconfirm - < "$SCRIPT_DIR/pkglist-repo.txt" log "Установка yay (AUR helper)" if ! command -v yay &>/dev/null; then TMPDIR=$(mktemp -d) git clone https://aur.archlinux.org/yay.git "$TMPDIR/yay" (cd "$TMPDIR/yay" && makepkg -si --noconfirm) rm -rf "$TMPDIR" else echo "yay уже установлен" fi log "Установка AUR-пакетов" yay -S --needed --noconfirm - < "$SCRIPT_DIR/pkglist-aur.txt" # ─── 2. КОНФИГУРАЦИИ ──────────────────────────────────────── log "Копирование конфигураций" declare -A CONFIG_MAP=( ["labwc"]="$CONFIG_DIR/labwc" ["aether"]="$CONFIG_DIR/aether" ["hypr"]="$CONFIG_DIR/hypr" ["waybar"]="$CONFIG_DIR/waybar" ["wofi"]="$CONFIG_DIR/wofi" ["mako"]="$CONFIG_DIR/mako" ["qt6ct"]="$CONFIG_DIR/qt6ct" ) for src in "${!CONFIG_MAP[@]}"; do if [ -d "$SCRIPT_DIR/config/$src" ]; then mkdir -p "${CONFIG_MAP[$src]}" cp -rn "$SCRIPT_DIR/config/$src/"* "${CONFIG_MAP[$src]}/" echo " ✓ $src" fi done # Отдельные файлы KDE/Dolphin for f in dolphinrc kdeglobals sddmthemeinstallerrc; do if [ -f "$SCRIPT_DIR/config/$f" ]; then cp -rn "$SCRIPT_DIR/config/$f" "$CONFIG_DIR/$f" echo " ✓ $f" fi done # EasyEffects пресеты if [ -d "$SCRIPT_DIR/easyeffects" ]; then mkdir -p "$CONFIG_DIR/easyeffects" cp -rn "$SCRIPT_DIR/easyeffects/"* "$CONFIG_DIR/easyeffects/" echo " ✓ easyeffects presets" fi # ─── 3. ПРАВА НА СКРИПТЫ ──────────────────────────────────── log "Настройка прав доступа" chmod +x "$CONFIG_DIR/labwc/update_theme.sh" 2>/dev/null || true chmod +x "$CONFIG_DIR/waybar/v2raya-toggle.sh" 2>/dev/null || true chmod +x "$CONFIG_DIR/wofi/cliphist-img.sh" 2>/dev/null || true chmod +x "$CONFIG_DIR/aether/custom/post-apply.sh" 2>/dev/null || true # ─── 4. INITRAMFS ──────────────────────────────────────────── log "Пересборка initramfs (nvidia-open + amd-ucode)" sudo mkinitcpio -P # ─── 5. СЕРВИСЫ ───────────────────────────────────────────── log "Включение системных сервисов" sudo systemctl enable bluetooth.service sudo systemctl enable sddm.service log "Включение пользовательских сервисов" systemctl --user enable pipewire.service wireplumber.service # ─── ГОТОВО ────────────────────────────────────────────────── log "✅ Установка завершена!" echo "" echo "⚠️ Перед перезагрузкой проверьте:" echo " 1. Bootloader: limine-install (если не настроен)" echo " 2. SDDM тема: monochrome (из sddmthemeinstallerrc)" echo " 3. UFW: sudo ufw enable (если нужен фаервол)" echo "" echo "Перезагрузите систему или выполните: exec labwc"