Skip to content

PERSONAL SYSTEM MANUAL

MIXED SOURCES · 2026-08-24

12 — Backup and recovery

Recoverable configuration workflows

Back up ~/.config/hypr, Caelestia, Kitty, permitted Zsh configuration, Thunar, GTK 3/4, and personal desktop files. Redact credentials and private paths before sharing. A backup is useful only if its target, creation time, and restore scope are known.

SAFE USER CHANGECreate a local archive of selected configuration
tar --create --file arch-config-backup.tar --directory "$HOME" .config/hypr .config/caelestia .config/kitty .config/Thunar .config/gtk-3.0 .config/gtk-4.0

Context: Run from a directory with enough free space. The command reads only the named configuration trees and creates one archive.

Expected: arch-config-backup.tar in the current directory, or an explicit error naming a missing/unreadable path.

Verify: Use tar --list --file arch-config-backup.tar and confirm the intended top-level paths are present.

Rollback: Remove the archive only after resolving its explicit path and confirming it is not the only usable backup.

READ ONLYCompare Hyprland with an unpacked backup
diff -ruN backup/.config/hypr "$HOME/.config/hypr"

Context: The first path must be an already unpacked copy in a separate directory.

Expected: No output means identical trees; +/- lines are differences.

Interpretation: A difference is evidence of changed content, not proof that either side is correct.

Restore into a temporary directory first, compare, recover one component at a time, validate it, and retain the previous file until success is confirmed.

  1. Resolve the exact damaged component; do not replace the whole dotfiles tree.
  2. Keep the current file under a new timestamped name.
  3. Extract the archive into a new temporary directory.
  4. Compare current, saved-current, and archived versions.
  5. Restore one file, then validate syntax and the affected behaviour.
  6. Keep the known-good copy until the next successful login.

If Hyprland cannot start, use a TTY to inspect the most recent edit and logs. Restore the single known-good Hyprland file first. A TTY is an alternate text login, not an automatic repair environment; confirm paths before every state-changing command.

For a shortcut regression, restore the binding source file and then confirm both parser state and the exact combination. For a theme regression, restore the source with known precedence rather than overwriting GTK, Kitty, Caelestia, and Hyprland together.

DANGER
tar --extract with the wrong target can overwrite configuration. This manual deliberately provides no automatic restore command.

Related: Configuration map, Troubleshooting, and Changes.