Files
labwc/install.sh
T
2026-08-11 23:42:24 +06:00

89 lines
3.8 KiB
Bash
Executable File

#!/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"