This app will attempt to copy, migrate and restore the core settings in Gnome

Nicole Portas 83c9ca067c added WmClass преди 2 седмици
.gitignore 5d1221ee43 finalising version 0.1! преди 2 седмици
LICENSE 5d1221ee43 finalising version 0.1! преди 2 седмици
MainWindow.cpp 5d1221ee43 finalising version 0.1! преди 2 седмици
MainWindow.hpp 5d1221ee43 finalising version 0.1! преди 2 седмици
Makefile 6ed3b5deee initial commit преди 2 седмици
README.md 6ae62956bb adding logo преди 2 седмици
configure 6ed3b5deee initial commit преди 2 седмици
logo.png c6005aba47 adding logo преди 2 седмици
logo500.png 83c9ca067c added WmClass преди 2 седмици
main.cpp 83c9ca067c added WmClass преди 2 седмици

README.md

GnomeSettingsVault

GnomeSettingsVault Logo

A high-integrity backup and restore utility for GNOME environments. Unlike standard backup tools, GnomeSettingsVault uses Atomic Swap logic and Live-Extension Disabling to ensure that themes, icons, and shell extensions are restored without crashing the GNOME Shell.

Features

  • Atomic Restore: Extracts to shadow directories before swapping to minimize filesystem locks.
  • Safe Extension Handling: Automatically toggles extensions off during restore to prevent Shell segmentation faults.
  • Dconf Integration: Full backup of GNOME's configuration database.
  • Debug Logging: Optional real-time logging to ~/GnomeSettingsVault.log.
  • GPLv3 Licensed: 100% Free and Open Source.

The "Why" this application exists

Most GNOME backup solutions fail because they attempt to "hot-swap" configuration files while the GNOME Shell is actively reading them. This leads to broken icons, default "X" cursors, and frequent Shell segmentation faults (crashes).

This application follows three strict architectural principles to ensure your desktop hopefully survives the restore:

  1. The Extension Kill-Switch: Before a single byte is moved, the app programmatically disables all user extensions. This prevents the Shell from executing scripts that are mid-replacement.
  2. Shadow Extraction (Atomic Swaps): We never extract directly into live directories like ~/.themes or ~/.local/share/gnome-shell/extensions. Components are extracted to hidden "shadow" folders first.
  3. The Janitorial Sweep: Once extraction is verified and synced to disk, the app performs an atomic directory rename. This reduces the "danger window" for the OS file monitor from minutes to milliseconds.

Re-installing a Gnome-based workstation is a major pain. I know that - I've done it countless times. This application tries to resolve this issue. This tool is designed for those who want to migrate their perfectly tuned environment between machines—or versions—without the desktop environment throwing a tantrum.

Prerequisites

  • gtkmm-3.0
  • libarchive
  • dconf-cli

Usage

  1. Compile using the provided Makefile.
  2. Run ./gnome-vault.
  3. After a restore, a Logout is highly recommended to flush the GNOME cache and apply all UI changes correctly.

Contributing

As GNOME moves toward versions 49 and 50, please report any path changes or extension API breakages via Issues.