#!/bin/bash # ================= НАСТРОЙКИ ================= SOURCE_DIR="$HOME/.config/" DEST_DIR="./config" # Список элементов для копирования (папки и файлы через пробел) ITEMS=("aichat" "btop" "calcurse" "cava" "clipse" "DankMaterialShell" "fastfetch" "fish" "foot" "fsel" "fuzzel" "hypr" "hyprwave" "hyprwhspr" "i3" "ironbar" "kitty" "matugen" "mpd" "mpDris2" "mpv" "niri" "nix" "nvim" "nwg-look" "omarchy" "pomo" "rmpc" "scripts" "swaync" "swayosd" "systemd" "tmux" "tofi" "walker" "wl-kbptr" "xdg-desktop-portal" "xsettingsd" "yazi" "yt-dlp" "zathura" "keymap.xkb" "mimeapps.list" "starship.toml" "user-dirs.conf" "user-dirs.dirs" "user-dirs.locale" "rudo" "gtk-2.0" "gtk-3.0" "gtk-4.0" "Kvantum" "nvim" "telegram" "stasis") # ============================================= # Гарантируем наличие слеша в конце пути назначения [[ "${DEST_DIR}" != */ ]] && DEST_DIR="${DEST_DIR}/" # Проверка наличия rsync if ! command -v rsync &>/dev/null; then echo "Ошибка: rsync не установлен. Установите его через пакетный менеджер вашей ОС." exit 1 fi # Создание директории назначения, если её нет mkdir -p "$DEST_DIR" # Цикл по списку элементов for item in "${ITEMS[@]}"; do SRC="${SOURCE_DIR}${item}" if [[ -d "$SRC" ]]; then echo "Копирую директорию: $item" # Для директорий: копируем СОДЕРЖИМОЕ в папку с таким же именем в целевой директории rsync -av --progress "${SRC}/" "${DEST_DIR}${item}/" elif [[ -f "$SRC" ]]; then echo "Копирую файл: $item" # Для файлов: копируем сам файл в целевую директорию rsync -av --progress "$SRC" "${DEST_DIR}" else echo "Предупреждение: $SRC не найден или не является файлом/директорией. Пропускаю." fi done echo "Операция завершена."