A desktop application to backup and restore your entire GNOME desktop configuration.
Built with Go + Wails + Svelte + Tailwind CSS
โ ๏ธ This project is under active development. Bug reports, feature requests, and pull requests are very welcome and greatly appreciated! Feel free to open an issue or submit a PR.
๐ Prefer the command line? Check out GNOME Config Exporter (CLI) โ a standalone Bash script with the same functionality, no dependencies beyond
dconfandrsync.
--backup, --list, --help, --version for scripting and automationFully compatible with the original bash script version. Backups created with the bash script are recognized and can be restored by this Go app, and vice versa. Both use the same directory structure, naming format (YYYYMMDD_HHMMSS), and metadata layout.
gnome-cfg-exporter binary for your architecturechmod +x gnome-cfg-exporter
./gnome-cfg-exporter
Optionally, move it to your PATH:
sudo mv gnome-cfg-exporter /usr/local/bin/
Requirements: Go 1.21+, Node.js 18+, npm, Wails CLI v2
# Install Wails CLI
go install github.com/wailsapp/wails/v2/cmd/wails@latest
# Clone and build
git clone https://github.com/KallosLaszlo/gnome-config-backup-GUI.git
cd gnome-cfg-exporter
wails build
The binary will be at build/bin/gnome-cfg-exporter.
gnome-cfg-exporter
gnome-cfg-exporter --backup # Full backup
gnome-cfg-exporter --list # List all backups
gnome-cfg-exporter --version # Show version
gnome-cfg-exporter --help # Show help
Config file: ~/.config/gnome-cfg-exporter/config.json
Backups are stored in: ~/.local/share/gnome-cfg-exporter/ (configurable in Settings)
| Command | Required | Description |
|---|---|---|
dconf |
Yes | GNOME settings database |
gsettings |
Yes | GSettings CLI |
rsync |
No | Fast file copying (falls back to native Go) |
gnome-extensions |
No | Extension management |
fc-cache |
No | Font cache rebuild after restore |
Coming soon
This project is under active development. Contributions are welcome!
git checkout -b feature/my-feature)git commit -am 'Add my feature')git push origin feature/my-feature)This project is licensed under the MIT License โ see the LICENSE file for details.