Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env bash
- # install.sh – «автоматизация» Arch-системы + мои dotfiles
- # Автор: alechilczenko, правки: ChatGPT
- # Не запускайте из-под root, скрипт сам вызовет sudo, где нужно.
- set -euo pipefail
- # ───────────────────────────────────────
- # 0. Проверки окружения
- # ───────────────────────────────────────
- [[ $EUID -eq 0 ]] && {
- echo "⛔ Не запускайте этот скрипт от root."
- exit 1
- }
- if ! command -v yay &>/dev/null; then
- echo "⛔ AUR-помощник 'yay' не найден. Установите его и запустите скрипт снова."
- exit 1
- fi
- # ───────────────────────────────────────
- # 1. Выбор VirtualBox-модуля под ядро
- # ───────────────────────────────────────
- if uname -r | grep -q lts; then
- VBOX_MODULE="virtualbox-host-modules-lts"
- else
- VBOX_MODULE="virtualbox-host-modules-arch"
- fi
- # ───────────────────────────────────────
- # 2. Списки пакетов
- # ───────────────────────────────────────
- pacman_packages=(
- # основные
- i3lock i3-gaps blueman thunar alacritty vlc firefox scrot
- zsh geeqie nano flameshot feh lxappearance asciiquarium cmatrix
- gpick virtualbox "$VBOX_MODULE"
- filezilla pavucontrol brightnessctl nitrogen geany arandr xorg-xrandr
- gparted pamixer papirus-icon-theme rofi
- )
- yay_packages=(
- polybar autotiling picom-ibhagwan-git nerd-fonts-complete
- pipes.sh rofi-bluetooth-git rofi-wifi-menu-git
- qpdfview-qt6 neofetch
- )
- # ───────────────────────────────────────
- # 3. Функции
- # ───────────────────────────────────────
- update_and_install() {
- echo "🚀 Обновляю систему и ставлю пакеты…"
- sudo pacman -Syu --noconfirm
- sudo pacman -S --needed --noconfirm "${pacman_packages[@]}"
- yay -S --needed --noconfirm "${yay_packages[@]}"
- }
- copy_dotfiles() {
- local SRC="$HOME/dotfiles/config"
- local DST="$HOME/.config"
- if [[ ! -d $SRC ]]; then
- echo "⛔ Каталог $SRC не найден. Склонируйте репозиторий dotfiles перед запуском!"
- exit 1
- fi
- echo "📂 Копирую конфиги в $DST …"
- mkdir -p "$DST"
- cp -rT "$SRC" "$DST"
- }
- install_papirus_folders() {
- echo "🎨 Настраиваю цвет папок Papirus…"
- git clone --depth=1 https://github.com/PapirusDevelopmentTeam/papirus-folders.git \
- "$HOME/papirus-folders"
- "$HOME/papirus-folders/papirus-folders" -t ePapirus -C violet
- }
- # ───────────────────────────────────────
- # 4. Главный ход выполнения
- # ───────────────────────────────────────
- main() {
- update_and_install
- copy_dotfiles
- install_papirus_folders
- echo -e "\n✅ Готово! Перезайдите в сессию i3 (Win+Shift+E → Exit) или перезапустите ПК."
- }
- main "$@"
Advertisement
Add Comment
Please, Sign In to add comment