Restore Configuration
Pipe Separated Values (PSV)
Section titled “Pipe Separated Values (PSV)”Ini adalah berkas pipe-separated value. Berkas ini berisi path dotfiles beserta dependensi paketnya masing-masing.
Catatan:
Section titled “Catatan:”- Baris yang diawali dengan
#adalah komentar. - Satu-satunya variabel yang dikenali adalah
${HOME}. - Ini adalah berkas dengan 4 kolom yang dipisahkan oleh karakter
|. - Setiap kolom harus menggunakan spasi untuk memisahkan elemen array.
Struktur:
Section titled “Struktur:”flag|path|target|dependency-
( P ) Populate/Preserved
- Flag ini memastikan target hanya akan disalin jika belum ada. Berguna untuk mempertahankan kondisi target saat ini, sehingga mencegah penimpaan atau modifikasi pada berkas atau direktori yang sudah ada.
-
( S ) Sync
- Jika berkas target ada, maka akan ditimpa.
- Jika target adalah sebuah direktori, hanya berkas yang tercantum saja yang akan ditimpa.
- Berkas lain di dalam direktori target yang tidak tercantum akan tetap dipertahankan.
- Perilaku ini mirip dengan perintah
cp -r.
-
( O ) Overwrite
- Flag ini melakukan sinkronisasi secara agresif. Memastikan target sepenuhnya digantikan oleh sumber.
- Jika target adalah direktori, semua berkas dan subdirektori di dalamnya akan ditimpa oleh item yang sesuai dari sumber.
- Jika target adalah berkas, maka akan sepenuhnya ditimpa oleh berkas sumber.
- Operasi ini tidak mempertahankan berkas atau direktori yang sudah ada di lokasi target; semuanya ditimpa.
- Berguna untuk memperbarui konfigurasi inti dan skrip.
-
( B ) Backup
- Melakukan backtup terhadap target.
- Semua flag P, S, O juga akan melakukan backup terhadap berkas atau direktori target.
Contoh berkas PSV
Hyde core files 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
Editor 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
Bar P|${HOME}/.config/waybar|config.ctl|waybarS|${HOME}/.config/waybar|modules config.jsonc theme.css style.css|waybar
Terminal P|${HOME}/.config|lsd|lsdS|${HOME}/.config|fastfetch|fastfetchS|${HOME}/.config/kitty|hyde.conf theme.conf|kittyP|${HOME}/.config/kitty|kitty.conf|kitty
Shell P|${HOME}/.config|fish|fishP|${HOME}|.zshrc .hyde.zshrc .p10k.zsh|zsh zsh-theme-powerlevel10k pokego-binS|${HOME}|.zshenv|zsh zsh-theme-powerlevel10k
File Explorer 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
Input 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
Notifications S|${HOME}/.config|dunst|dunst
Gaming S|${HOME}/.config|MangoHud|mangohud
Launcher S|${HOME}/.config|rofi|rofiS|${HOME}/.config|wlogout|wlogout
Lock Screen S|${HOME}/.config|swaylock|swaylock-effectsP|${HOME}/.config/hypr|hyprlock.conf|hyprlockS|${HOME}/.config/hypr|hyprlock|hyprlock
Idle daemon P|${HOME}/.config/hypr|hypridle.conf|hypridleKonfigurasi TOML
Section titled “Konfigurasi TOML”🚧 🚧 Masih dalam tahap pengerjaan 🚧🚧
Berkas konfigurasi PSV memudahkan skrip untuk membaca dan menulis data. Namun, format ini sangat terbatas dan kurang ramah bagi pengguna. Untuk kustomisasi lebih lanjut, kita dapat menggunakan berkas konfigurasi TOML.
…