I’m using Fedora Kinoite since a while, and I really like it. There’s just one thing I don’t understand, and have a hard time finding an answer to.
What happens in my home directory if I rebase to Silverblue? Like, Gnome and its apps comes with a lot of config files. If I then roll back to Kinoite, will all those files and folders still be there? How can I prevent this cluttering of files and folders that I don’t want to keep? I guess the easy answer would be to create a new user and then delete that home directory after rolling back, but I’m wondering if something else will happen. Thank you!
That’s a good question. Kinoite does not version some directories, such as your home directory or /etc. Rebasing and then reverting the rebase will create some clutter. What I’d suggest is to use some utility to version your files, perform a backup before doing the rebase or snapshot your home directory using the builtin snapshot functionality of btrfs. Maybe something like restic would work for this case.
To add onto this, if you really wanted to rebase and don’t want config file clashes, you can use ostree config-diff after rebasing to show what config files changed. You can also simply remove all the files in /etc, and on the next boot, ostree will re-populate it with the contents of
/usr/etc
in a three way merge. Just be sure to copy, at bare minimum,/etc/shadow
,/etc/passwd
, and/etc/fstab
otherwise it’ll be very awkward when you try to boot again and your boot process fails because it doesn’t automatically mount your disks and you can’t login because you have no users. It’s kinda cool tho, that, at least for this very specific issue, those 3 files might not be needed if/when systemd-homed’s JSON User Records and Discoverable Partitions see wider adoption.(Note: this is dumb and error prone, and you should absolutely do what the other commenter said)
This is the main reason I don’t generally rebase on anything except versions I intend to stay on if things work well. Yes, you’ll keep your files and folders, but the updated software will write to them, and those will stay there too.
For example, new versions of Firefox might make modifications to your profile directory that might not work in earlier versions of Firefox. So if your rebase gives you a newer version, than reverting will break your Firefox profile.
(Now with Firefox specifically this isn’t usually a problem, since even older OS releases will have the latest Firefox versions, and Firefox itself is pretty stable too, but the concept could also apply to other software.)
Very important point.
This is also why you should not use toolbox but distrobox, and use a different home directory than your own.
Otherwise different OS versions etc. will give you dotfile conflicts like hell.
Leveraging flatpaks, as per the recommended workflow, largely negates these issues as well. Userspace apps shouldn’t be impacted by the host OS changes in such cases.
I installed kinoite on my laptop. Rebased to silverblue for a while to try out gnome, rebased to kinoite rawhide to check out kde plasma 6, then back to kinoite 39. I think a few minor settings had to be redone, but no real issues.
Especially KDE and GNOME somehow mess up each others icons, so no this is not true.
These issues have to be fixed by the projects, putting their dotfiles in
~/.config/kde
or~/.config/gnome
respecively.
Home is mutable, and the mess that at least KDE does (not sure about GNOME) make removing its traces really hard.
I should write a script to remove all traces of KDE on a system, or to back everything up and import it etc.
Find me on Github if you want to help collect all the directories and files.
Its a total mess and can cause a ton of issues. The easy way to test DEs is to use a separate user account per Desktop. Lol.
That is what I feared. Using another user is a solution but it feels inelegant. I wish there were some middle ground, like being able to pin the home folder or something. I’ll take a look at your github!
Did it, to bazzite, pretty painless. Yup, your config is the same. Immutable is indeed immutable.