Restaurar Configuración
Valores Separados por Pipe (PSV)
Sección titulada «Valores Separados por Pipe (PSV)»Este es un archivo de valores separados por pipe. Contiene las rutas de los dotfiles y sus respectivas dependencias de paquetes.
- Las líneas que comienzan con
#
son comentarios. - La única variable conocida es
${HOME}
. - Este es un archivo de 4 columnas separadas por
|
. - Cada columna debe usar espacios para separar elementos de matriz.
Estructura:
Sección titulada «Estructura:»bandera|ruta|destino|dependencia
Banderas:
Sección titulada «Banderas:»-
( P ) Poblar/Preservar
- Esta bandera asegura que el destino solo se copie si aún no existe. Es útil para preservar el estado actual del destino, evitando cualquier sobrescritura o modificación a archivos o directorios existentes.
-
( S ) Sincronizar
- Si el/los archivo(s) de destino existen, sobrescríbelos.
- Si el destino es un directorio, solo sobrescribe los archivos que están listados.
- Preserva otros archivos en el directorio de destino que no están listados.
- Este comportamiento es similar al comando
cp -r
.
-
( O ) Sobrescribir
- Esta bandera realiza una operación de sincronización agresiva. Asegura que el destino sea completamente reemplazado por la fuente.
- Si el destino es un directorio, cada archivo y subdirectorio dentro de él será sobrescrito por los elementos correspondientes de la fuente.
- Si el destino es un archivo, será completamente sobrescrito por el archivo fuente.
- Esta operación no preserva ningún archivo o directorio existente en la ubicación de destino; todo es reemplazado.
- Útil para actualizar configuraciones y scripts principales.
-
( B ) Respaldo
- Respalda el destino.
- Todas las banderas P, S, O también respaldarán el archivo/directorio de destino.
Archivo PSV de ejemplo
Archivos principales de HydeP|${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
EditorP|${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
BarraP|${HOME}/.config/waybar|config.ctl|waybarS|${HOME}/.config/waybar|modules config.jsonc theme.css style.css|waybar
TerminalP|${HOME}/.config|lsd|lsdS|${HOME}/.config|fastfetch|fastfetchS|${HOME}/.config/kitty|hyde.conf theme.conf|kittyP|${HOME}/.config/kitty|kitty.conf|kitty
ShellP|${HOME}/.config|fish|fishP|${HOME}|.zshrc .hyde.zshrc .p10k.zsh|zsh zsh-theme-powerlevel10k pokego-binS|${HOME}|.zshenv|zsh zsh-theme-powerlevel10k
Explorador de archivosP|${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
EntradaP|${HOME}/.config|libinput-gestures.conf|libinput-gestures
WaylandP|${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
NotificacionesS|${HOME}/.config|dunst|dunst
JuegosS|${HOME}/.config|MangoHud|mangohud
LanzadorS|${HOME}/.config|rofi|rofiS|${HOME}/.config|wlogout|wlogout
Pantalla de bloqueoS|${HOME}/.config|swaylock|swaylock-effectsP|${HOME}/.config/hypr|hyprlock.conf|hyprlockS|${HOME}/.config/hypr|hyprlock|hyprlock
Demonio de inactividadP|${HOME}/.config/hypr|hypridle.conf|hypridle
Configuración TOML
Sección titulada «Configuración TOML»🚧 🚧 Trabajo en progreso 🚧🚧
El archivo de configuración PSV es conveniente para que el script lo lea y escriba. Sin embargo, es muy restrictivo y no es fácil de usar. Para una mayor personalización, podemos usar archivos de configuración TOML.
…