Восстановление конфигурации
Значения, разделенные вертикальной чертой (PSV)
Заголовок раздела «Значения, разделенные вертикальной чертой (PSV)»Это файл со значениями, разделенными вертикальной чертой. Он содержит пути к дотфайлам и их соответствующие зависимости пакетов.
Примечание:
Заголовок раздела «Примечание:»- Строки, начинающиеся с
#, являются комментариями. - Единственная известная переменная —
${HOME}. - Это файл с 4 столбцами, разделенными
|. - Каждый столбец должен использовать пробелы для разделения элементов массива.
Структура:
Заголовок раздела «Структура:»флаг|путь|цель|зависимость-
(P) Заполнение/Сохранение (Populate/Preserved)
- Этот флаг гарантирует, что цель копируется только в том случае, если она еще не существует. Это полезно для сохранения текущего состояния цели, предотвращая любые перезаписи или изменения существующих файлов или каталогов.
-
(S) Синхронизация (Sync)
- Если целевой файл(ы) существуют, перезаписать их.
- Если цель — каталог, перезаписать только перечисленные файлы.
- Сохранить другие файлы в целевом каталоге, которые не перечислены.
- Это поведение похоже на команду
cp -r.
-
(O) Перезапись (Overwrite)
- Этот флаг выполняет агрессивную операцию синхронизации. Он гарантирует, что цель будет полностью заменена источником.
- Если цель — каталог, каждый файл и подкаталог в нем будут перезаписаны соответствующими элементами из источника.
- Если цель — файл, он будет полностью перезаписан исходным файлом.
- Эта операция не сохраняет никаких существующих файлов или каталогов в целевом расположении; все заменяется.
- Полезно для обновления основных конфигураций и скриптов.
-
(B) Резервное копирование (Backup)
- Создать резервную копию цели.
- Все флаги P, S, O также создадут резервную копию целевого файла/каталога.
Пример файла PSV
# Основные файлы Hyde P|${HOME}/.config/hyde|config.toml|hyprlandP|${HOME}/.config/hypr|hyde.conf animations.conf windowrules.conf keybindings.conf userprefs.conf monitors.conf|hyprlandP|${HOME}/.config/hypr|nvidia.conf|hyprland nvidia-utilsP|${HOME}/.config/hypr/themes|theme.conf wallbash.conf colors.conf|hyprlandP|${HOME}/.local/state|hyde|hyprland
S|${HOME}/.config/hypr|hyprland.conf|hyprlandS|${HOME}/.local|bin|hyprlandS|${HOME}/.config|gtk-3.0|nwg-lookS|${HOME}/.config|nwg-look|nwg-lookS|${HOME}/.config|xsettingsd|nwg-lookS|${HOME}|.gtkrc-2.0|nwg-lookS|${HOME}/.config|Kvantum|kvantumS|${HOME}/.config|qt5ct|qt5ctS|${HOME}/.config|qt6ct|qt6ctS|${HOME}/.config/hyde|wallbash|hyprlandS|${HOME}/.config/hypr|animations|hyprland
O|${HOME}/.local/share|hyde|hyprlandO|${HOME}/.local/lib|hyde|hyprland
# Редактор P|${HOME}/.config/Code - OSS/User|settings.json|codeP|${HOME}/.config/Code/User|settings.json|visual-studio-code-binP|${HOME}/.config/VSCodium/User|settings.json|vscodium-bin
# Панель P|${HOME}/.config/waybar|config.ctl|waybarS|${HOME}/.config/waybar|modules config.jsonc theme.css style.css|waybar
# Терминал P|${HOME}/.config|lsd|lsdS|${HOME}/.config|fastfetch|fastfetchS|${HOME}/.config/kitty|hyde.conf theme.conf|kittyP|${HOME}/.config/kitty|kitty.conf|kitty
# Оболочка P|${HOME}/.config|fish|fishP|${HOME}|.zshrc .hyde.zshrc .p10k.zsh|zsh zsh-theme-powerlevel10k pokego-binS|${HOME}|.zshenv|zsh zsh-theme-powerlevel10k
# Файловый менеджер P|${HOME}/.local/state|dolphinstaterc|dolphinP|${HOME}/.config|baloofilerc|dolphinS|${HOME}/.config/menus|applications.menu|dolphinS|${HOME}/.config|dolphinrc|dolphinS|${HOME}/.config|kdeglobals|dolphinS|${HOME}/.local/share/kio/servicemenus|hydewallpaper.desktop|dolphinS|${HOME}/.local/share/kxmlgui5|dolphin|dolphinS|${HOME}/.local/share|dolphin|dolphin
# Ввод P|${HOME}/.config|libinput-gestures.conf|libinput-gestures
# Wayland P|${HOME}/.config|spotify-flags.conf|spotifyP|${HOME}/.config|code-flags.conf|codeP|${HOME}/.config|code-flags.conf|visual-studio-code-binP|${HOME}/.config|vscodium-flags.conf|vscodium-binP|${HOME}/.config|electron-flags.conf|electron
# Уведомления S|${HOME}/.config|dunst|dunst
# Игры S|${HOME}/.config|MangoHud|mangohud
# Лаунчер S|${HOME}/.config|rofi|rofiS|${HOME}/.config|wlogout|wlogout
# Экран блокировки S|${HOME}/.config|swaylock|swaylock-effectsP|${HOME}/.config/hypr|hyprlock.conf|hyprlockS|${HOME}/.config/hypr|hyprlock|hyprlock
# Демон бездействия P|${HOME}/.config/hypr|hypridle.conf|hypridleКонфигурация TOML
Заголовок раздела «Конфигурация TOML»🚧 🚧 В разработке 🚧🚧
Файл конфигурации PSV удобен для чтения и записи скриптом. Однако он очень ограничен и не удобен для пользователя. Для дальнейшей настройки мы можем использовать файлы конфигурации TOML.
…