#!/bin/env bash install() { echo "" read -r -p "❔ Установить $1? (y/N): " choice case "$choice" in y|Y|yes|Yes|YES ) echo -e "\033[1;34m▶ \033[0m $2" eval "$2" ;; * ) echo "⏭️ Пропущено: $1" ;; esac } backup_configs() { echo "📦 Создание резервной копии текущих конфигураций..." echo "ℹ️ Копируются только те, которые затрагиваются этим репозиторием." DATE=$(date +%Y-%m-%d_%H:%M:%S) BACKUP_DIR=~/.config-backups/"$DATE" mkdir -p "$BACKUP_DIR" for dir in ~/dotfiles/Configs/.config/*; do name=$(basename "$dir") if [ -d ~/.config/"$name" ]; then cp -r ~/.config/"$name" "$BACKUP_DIR/" fi done cp ~/{.zshrc,.p10k.zsh,.nanorc} "$BACKUP_DIR/" 2>/dev/null || true echo "✅ Бэкап сохранён в $BACKUP_DIR" } copy_new_configs() { echo "📂 Копирование новых конфигураций..." cp -r ~/dotfiles/Configs/.config/* ~/.config/ cp ~/dotfiles/Configs/.zshrc ~/dotfiles/Configs/.p10k.zsh ~/dotfiles/Configs/.nanorc ~/ echo "✅ Новый конфигурации скопированы!" } echo "⚠️ Учтите, что отсутствие некоторых пакетов приведет к некорректной работе системы!" install "Git, Curl (жизненно необходимые пакеты)" \ "sudo pacman -S --noconfirm git curl" install "Yay (AUR помощник) [Без Yay вы не сможете установить часть пакетов!]" \ "sudo pacman -S --noconfirm --needed base-devel && git clone https://aur.archlinux.org/yay.git && cd yay && makepkg -si" install "Network Manager (сетевые инструменты)" \ "sudo pacman -S --noconfirm network-manager network-manager-applet" install "Bluez, Blueman (bluetooth инструменты)" \ "sudo pacman -S --noconfirm bluez bluez-tools blueman" install "Xdg-utils, Xdg-desktop-portal (интеграция приложений с рабочим столом)" \ "sudo pacman -S --noconfirm xdg-utils xdg-desktop-portal-hyprland xdg-desktop-portal-gtk xdg-desktop-portal-wlr xdg-desktop-portal" install "Brightnessctl (управления яркостью)" \ "sudo pacman -S --noconfirm brightnessctl" install "Playerctl (управление медиа плеером)" \ "sudo pacman -S --noconfirm playerctl" install "Шрифты (Noto, JetBrains Mono, Nerd Fonts)" \ "sudo pacman -S --noconfirm noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra ttf-jetbrains-mono \ && yay -S --noconfirm ttf-meslo-nerd-font-powerlevel10k" install "Rose Pine (тема курсора)" \ "yay -S --noconfirm rose-pine-cursor rose-pine-hyprcursor" install "Papirus (иконки)" \ "sudo pacman -S --noconfirm papirus-icon-theme" install "Wlogout (меню выключения)" \ "yay -S --noconfirm wlogout" install "Waybar (wayland бар)" \ "sudo pacman -S --noconfirm waybar" install "Rofi (меню запуска + меню буфера обмена)" \ "sudo pacman -S --noconfirm rofi" install "Cliphist (буфер обмена)" \ "sudo pacman -S --noconfirm wl-clipboard cliphist" install "Kitty (эмулятор терминала)" \ "sudo pacman -S --noconfirm kitty" install "Zsh + Oh My Zsh (оболочка + менеджер плагинов)" \ "sudo pacman -S --noconfirm zsh \ && sh -c \"$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)\" \ && chsh -s $(which zsh)" install "Powerlevel10k (тема для Zsh)" \ "git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k" install "Плагины для Zsh" \ "git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting \ && git clone https://github.com/zsh-users/zsh-autosuggestions \${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions" install "Nwg-look (настройка GTK)" \ "mkdir -p ~/.themes/Adwaita-Dark/gtk-3.0 \ && echo '@import url(\"resource:///org/gtk/libgtk/theme/Adwaita/gtk-contained-dark.css\");' > ~/.themes/Adwaita-Dark/gtk-3.0/gtk.css \ && sudo pacman -S --noconfirm nwg-look" install "Qt5ct (настройка Qt)" \ "sudo pacman -S --noconfirm qt5ct" install "Swaync (уведомления похожие на GNOME)" "sudo pacman -S --noconfirm swaync" install "Waypaper (интерфейс для управления обоями)" \ "yay -S --noconfirm waypaper swww \ && cp -r ~/dotfiles/Assets/wallpapers/* ~/Pictures/Wallpapers/" install "Mpvpaper (бэкенд для видео обоев)" "sudo pacman -S --noconfirm mpvpaper" install "Grim, Hyprshot (cкриншоты)" \ "sudo pacman -S --noconfirm grim && yay -S --noconfirm hyprshot" install "Wf-recorder (запись экрана)" \ "sudo pacman -S --noconfirm wf-recorder" install "Emote (выбор эмодзи)" "yay -S --noconfirm emote" install "Flameshot (мощная утилита для скриншотов)" "sudo pacman -S --noconfirm flameshot" install "Fastfetch (похвастаться линуксом)" "sudo pacman -S --noconfirm fastfetch" echo "✅ Установка пакетов завершена!" backup_configs copy_new_configs echo "ℹ️ Для полного применения новых конфигураций потребуется перезагрузка системы." echo "✅ Установка завершена! Если потребуется восстановить старую конфигурацию, запустите:" echo " ~/dotfiles/Scripts/restore.sh"