# SaveDesktop backs up the files your Linux desktop actually keeps in your home directory

> SaveDesktop is a GTK application that backs up, restores and syncs a Linux desktop setup, covering themes, icons, fonts, settings, wallpapers and Flatpak apps across GNOME, KDE Plasma, Xfce, Hyprland and a dozen other desktops. It is GPL-3.0 licensed, published on Flathub, and its Snap Store copy has been frozen at version 3.6.2-hotfix.

**vikdevelop/SaveDesktop** — Save Desktop saves your Linux desktop environment configuration

- Repository: https://github.com/vikdevelop/SaveDesktop
- Website: https://vikdevelop.github.io/SaveDesktop/
- Stars: 821 · Forks: 28
- Language: Python
- License: GPL-3.0
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/vikdevelop-savedesktop

## The problem is that a desktop is just files in your home directory

Save Desktop saves your Linux desktop environment configuration, and the README describes it as a cross-desktop tool to back up, restore and sync your entire Linux desktop setup. It can save themes, icons, fonts, settings, wallpapers including dynamic ones, Flatpak apps and user data, and bring them back in a few clicks.

The insight behind that scope is that a Linux desktop does not have a single settings store. GNOME keeps its configuration in dconf, a binary database, and themes, icons and fonts live in several different XDG directories. KDE Plasma keeps a spread of dotfiles whose names begin with k. Xfce, Cinnamon, Budgie, MATE, Deepin, LXQt, Niri, Hyprland, Pantheon and COSMIC each have their own layout. The set of files that make a desktop feel like yours is therefore scattered, and reinstalling a machine means reconstructing that scatter by hand.

Save Desktop's answer is to copy the directories rather than to export a settings format. That has a practical advantage: a backup made this way is a set of ordinary files, readable with a file manager and editable with a text editor, and it can be inspected before a restore rather than trusted blindly.

The project is by vikdevelop, it is GPL-3.0 licensed, and the current release is 4.1, published on 2026-07-05, after 4.0 in February 2026 and 3.9 in January 2026. The last push to the repository was on 2026-10-13, and the project also has a documentation site at vikdevelop.github.io/SaveDesktop.

## The directory list is the real specification

The README devotes most of its length to a details block titled the full list of supported desktops and directories, and that list is the most useful thing in the documentation. It is what the tool copies, and reading it tells you exactly what will and will not be captured.

The general set covers the directories every desktop uses.

```bash
- ~/.config/dconf
- ~/.config/gtk-4.0 
- ~/.config/gtk-3.0
- ~/.themes
- ~/.icons
- ~/.fonts
- ~/.local/share/themes
- ~/.local/share/icons
- ~/.local/share/fonts
- ~/.local/share/backgrounds 
- ~/.local/share/gnome-shell
- ~/.local/share/plasma
- ~/.local/share/cinnamon
```

Alongside them come the Flatpak locations, the per application data directory and the system wide Flatpak directory, which is what the README means by Flatpak apps and user data.

The per desktop lists then add the desktop specific configuration. GNOME adds the background properties, the Nautilus directories including the Python extensions, and the control center configuration. Pantheon adds plank and marlin, Cinnamon adds nemo and .cinnamon, Budgie adds budgie-desktop and budgie-extras, COSMIC has separate entries for the old pop-shell layout and the new one, Xfce adds xfce4, Thunar and the .xfce4 directory, MATE adds caja, Deepin adds its own configuration and local share directories, LXQt adds lxqt, Niri adds niri and Hyprland adds hypr.

KDE Plasma is the entry worth reading twice, because it uses globs rather than fixed names. The list includes ~/.config/[k]*, described as all directories and files beginning with k, and ~/.local/share/[k]*, plus specific paths such as the Dolphin, Konsole, plasmashell, spectacle, plasmarc and Aurorae theme directories and the plasma-org.kde.plasma.desktop-appletsrc file. A glob based list is broader than a fixed one, and it also means the tool copies whatever the desktop happens to have written under those names.

## Flatpak, and the permission question behind it

The Flatpak entries deserve a second look, because they are where a desktop backup tool meets a sandbox.

Three paths appear among the general directories: ~/.local/share/flatpak/app, which is the per user installation of sandboxed applications, ~/.var/app, which is the per application data directory, and /var/lib/flatpak/app, the system wide installation. The README lists all three under the general set, so a backup can include both user and system level Flatpak state.

What that means in practice is that the tool is reading inside application sandboxes, and the ability to do so depends on the permissions of the process doing the copying and on how the sandbox is configured. A Flatpak application is normally isolated from the rest of the system, and its data lives in a directory the user owns but that the application treats as private. Copying it is possible; whether every application will still work against the restored copy is a different question, and the README does not address it.

The same applies to the desktop configuration directories. Restoring a dconf database onto a machine where a different set of extensions is installed is not the same as restoring it onto an identical machine, and no version check appears in the documentation.

This is the one area where a careful user would test on a throwaway machine first, and where reading the directory list before trusting a restore is worth the five minutes it takes.

## Install from Flathub, and ignore the Snap Store build

The installation section gives a clear recommendation and one clear warning.

For stable releases, Flathub is the recommended channel, with the application published as io.github.vikdevelop.SaveDesktop. There is a beta channel as well, offered as a flatpakref file to install from.

The warning is about the Snap Store, and it is the kind of note that saves an hour of confusion. The Snap Store build is frozen at version 3.6.2-hotfix and no updates will be provided, and active development continues on Flathub.

That is worth internalising before you install. The version numbering in the repository, 4.1 as the current release, is the Flathub line. If you install from the Snap Store you will get a build from the 3.6 series, roughly two years older in feature terms, and it will never receive a fix. The Flathub badge in the README and the warning box below it are the two things to read on that page.

For development, the README points at GNOME Builder: install it from Flathub, clone the repository, and run the project from there.

The repository layout matches a GNOME application. There is a data/ directory holding the application icon and the screenshots used in the README, a po/ directory for translations, src/ for the code, a meson.build for the build, the flatpak manifest named io.github.vikdevelop.SaveDesktop.json, a snapcraft.yaml for the Snap packaging, a savedesktop.doap file, and SECURITY.md and CONTRIBUTING.md alongside the licence.

## Sync is the feature that separates a backup from a workflow

The three pages in the screenshot table are Save, Import and Sync, and the third one is the interesting one. Its caption is Sync with other computers through the cloud, and the feature list says sync with cloud folders.

Backup and restore alone are a solved problem with many tools. What Save Desktop adds is the ability to keep two machines in step, with the transfer going through a cloud folder rather than a cable or a network share. The difference in practice is that the second machine is not a restore target you schedule once, it is a machine that pulls the current state whenever you want it to.

The mechanics of that are not described in the visible documentation. There is no explanation of conflict handling when both sides changed, no indication of whether the sync is a one way push or a two way merge, and no statement about what happens if a file exists on both machines with different contents. The sync page exists in the interface, and the feature is listed, but the behaviour under concurrent editing is the sort of thing that has to be read from the code.

There is also the question of where the cloud folder points. Since the backup is a set of files, a cloud folder is a plausible target, and any provider that mounts as a directory would work. The README does not name one, so a team will pick their own, and the privacy characteristics of the desktop configuration data, which includes user names, application settings and window layouts, follow from that choice.

## Where SaveDesktop is the wrong tool

Three cases rule it out.

The first is a single desktop with no plans to move. The tool covers twelve desktop environments and copies the union of their directories, so on one machine it is copying a lot of directories that belong to software you do not have installed. The per desktop lists are not filtered by what is present.

The second is a user who wants a single setting changed, such as one GNOME extension's configuration or one KDE theme. Copying a directory tree is the wrong granularity for that, and the dconf database in particular is a binary store where a surgical edit is awkward, so the tool offers no incremental path.

The third is a machine with sensitive or sandboxed application data that you do not want copied. The Flatpak per application data directory is the concern here. A backup that includes application data is convenient, and it is also a copy of anything those applications store, which can include session tokens and cached documents, and that copy will then live in a cloud folder if sync is enabled.

There is a fourth, quieter limitation. The tool is a directory copier with a nice interface, so the correctness of a restore depends on the destination matching the source. The README does not describe version checks, and a configuration directory copied onto a machine with different extensions installed is exactly the situation where a desktop ends up subtly broken. The documentation is honest about the scope, and the scope is copying files, not migrating a desktop.

## Conclusion

SaveDesktop fits someone who moves between Linux machines or reinstalls a system and wants their themes, icons, wallpapers and application data back in one click, since the tool copies real directories rather than exporting a settings format, which means the backup is readable and editable by hand. It is the wrong choice if you only want one desktop's settings, because the per-desktop directory lists cover twelve environments, and it is the wrong choice on a machine with a Flatpak sandbox you cannot read, since the app data it copies lives inside per application directories. Before installing it, check the Snap warning, because the Snap Store build is frozen at 3.6.2-hotfix while development continues on Flathub, and look at the directory list for your desktop before you trust a restore.

## FAQ

### What does SaveDesktop back up?

It saves themes, icons, fonts, desktop settings, wallpapers including dynamic ones, Flatpak apps and user data. The README lists the exact directories it copies, including a general set such as ~/.config/dconf, ~/.themes, ~/.icons and ~/.fonts, plus per desktop directories for GNOME, KDE Plasma, Xfce, Cinnamon, Budgie, COSMIC, Pantheon, MATE, Deepin, LXQt, Niri and Hyprland.

### How do I install SaveDesktop?

Flathub is the recommended channel, using the application id io.github.vikdevelop.SaveDesktop, and there is a Flathub Beta flatpakref for pre-release builds. For development, the README suggests installing GNOME Builder from Flathub, cloning the repository and running the project.

### Is the Snap Store version of SaveDesktop still updated?

No. The README warns that the Snap Store build is frozen at version 3.6.2-hotfix with no updates provided, and that active development continues on Flathub, where the current release is 4.1.

### Can SaveDesktop sync my desktop between computers?

Yes, the Sync page is described as syncing with other computers through the cloud, and the feature list includes syncing with cloud folders. The README does not describe how conflicts between two changed machines are resolved.

### Which Linux desktops does SaveDesktop support?

The README lists GNOME, KDE Plasma, Xfce, Cinnamon, Budgie, COSMIC in both the GNOME and Rust versions, Pantheon, MATE, Deepin, LXQt, Niri and Hyprland, and publishes the full list of directories it copies for each of them.

## Sources

- [License: GPL-3.0](https://github.com/vikdevelop/SaveDesktop/blob/main/LICENSE)
- [Project website](https://vikdevelop.github.io/SaveDesktop/)
- [README](https://github.com/vikdevelop/SaveDesktop/blob/main/README.md)
- [Releases](https://github.com/vikdevelop/SaveDesktop/releases)
- [vikdevelop/SaveDesktop on GitHub](https://github.com/vikdevelop/SaveDesktop)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/vikdevelop-savedesktop
