It was fairly easy. I used rustic to back up my entire home directory to a USB flash drive.
The trick is to ensure that all applications (except KDE) are closed. Firefox, for example, really hates if you try to actively sync or copy over it's profile directories while it is running.
And then I also nuked my podman user data. (podman system reset). Podman sometimes makes the ownership of it's files weird, but also the container images take up a lot of space that I don't really care about actually backing up. It's okay if those aren't on the new laptop.
Then I backed up to the usb flash drive:
rustic init -r /path/to/repo — this will prompt you for a password
rustic backup -r /path/to/repo /home/moonpie
One cool thing about the backups is that they are deduplicated and compressed. So I backed up 120 gb of data, but it was compressed to 80 gb.
restic snapshots -r /path/to/repo
The snapshots are deduplicated as well. Data that doesn't change between snapshot versions, doesn't take up any extra space.
rustic restore -r /path/to/repo snapshotid /
The / is needed because rustic restores to paths underneath the thing. It gave me a bunch of permission errors about not being able to read stuff not in my home directory, but eventually it restored all of my data.
And then yeah. All my data. Except Wifi passwords, which I had stored as unencrypted for all users, because I didn't like having to unlock the KDE wallet to get to Wifi passwords when connecting. I had (and have) LUKS encryption so I didn't worry about that too much. But it means that data not in my home directory was not copied over.
It was surprisingly smooth, and now I have all my data and firefox profiles and stuff on the new machine.
Maybe. But they, and many others overestimate the amount of size flatpaks take up.
Flatpaks use a "runtime", a shared set of libraries and programs flatpak apps use. With one flatpak app, there is just one runtime. But with 2, 3, 10 flatpak apps, there are still only going to be 1 (to 3) runtimes on the system. This is not the same for something like appimage.
In the blog, they compare the size of deepin calculator across formats. But this is not a fair comparison. A more fair comparison would involve comparing the app size without the runtime, or comparing many apps installed.
In addition to this, if you are on btrfs, further deduplication and compression is done. This (and symlinks) won't show up in many disk and space usage analysis tools. To get a more accurate measure, use
compsizeinstead of traditional tools. It will show you how much transparent compression (when btrfs compresses files but you can stilll access them normally), symlimks and the like are saving space.Anyway, I am interested in more cross distro package managers though. Flatpak, docker, and nix cover a lot of things but have their annoying edge cases and paper cuts, especially in comparison to snap in some ways for some apps.
Edit: linglong appears to reuse system libraries, which would probably lead to significanr space savings at the cost of portability across distros