Going immutable
2024-12-01My friend mkhl told me about the initiative to turn Gnome OS into a general-purpose distro. This pushed all my buttons as it combined the excellent proposal by Lennart Poettering for an immutable distro with my favorite desktop environment, Gnome. At this point, Gnome OS is a bit too early stage for me, so I wanted to try out a similar approach for now and landed on Fedora Silverblue.
Silverblue is also an immutable distro, but in a slightly different style. Like Gnome OS, it is built on Gnome and Flatpak for its desktop environment and its command-line experience is very close to what Gnome OS works like: Podman and Toolbx are pre-installed. But it also offers to layer on packages with the package manager dnf. So my current experiment is to do my personal computering on Silverblue, but without using its capabilities to use dnf to install packages. I’m doing this on my private notebook to try it out and keep my setup on my work machine for now.
Where I’m coming from
I was using Debian Stable with Gnome. For the GUI, I used Flatpak to get the latest versions of the GUI apps I use. On the command line, I used devbox to get the latest version of command-line tools and programming languages (it is a nice wrapper around nix-shell). This is the setup I’m still running for my work machine.
GUI
The most significant change for me in the GUI is that I now have the latest version of Gnome. I really love Gnome. It is beautiful, and the ecosystem of apps is absolutely impressive. With the latest version, it has become even more refined, and I really like the new default font Input. I can also finally use mkhl’s Window Desaturation.
Silverblue sticks with the recommendations from Gnome: The pre-installed apps are the core apps. There are only a few places where Silverblue diverges:
- Firefox is installed instead of Gnome Web (as most distros do)
- Ptyxis instead of Console (which I will describe in detail in a second post)
- Fedora Media Writer is additionally installed
- Document Scanner, Music, and Videos are missing
If you are interested in what else I’m using, see my dotfiles for details.
With a few exceptions1, all pre-installed applications are installed with Flatpak. This is also how I installed the additional applications. This is why there is no difference for me here, as this is how I did it on Debian as well.
Problems
At first, I couldn’t get Silverblue to install firmware updates. On Debian, I install them via Gnome Software, which works flawlessly for me. Silverblue also shows me the firmware updates there, but clicking on “Update” simply does nothing. I then tried it with fwupdmgr and could install the updates without any issues. This is weird to me, as both are based on fwupd.
I had an odd glitch in Ptyxis with some lines drawn on the screen. I reported it, and it turns out to be a problem with fractional scaling. Silberblue defaulted to a scale of 125% on my notebook. I now set it to 100% as I prefer to have more space anyway.
The disadvantage of the immutable approach is that I can’t use GUI apps that are not available as flatpaks. For me, that’s only the Gnome Summoner. I hope we can find a solution for that.
Conclusion
At this point, I think that Gnome is a really solid choice for many people and is definitely not restricted to programmers and ops people. I think a Gnome-based immutable distro is a really promising idea for people who don’t want to fiddle around with this part of their OS. Having Gnome Software gives people a similar “App Store” experience they know from their smartphone or desktop OSes like macOS or Chrome OS, but without being at the mercy of big tech.
Moreover, it offers a really convincing command-line experience with podman and toolbx for those that need it. I wrote a separate blog post about that.
Thanks
Thanks to Bascht and mkhl for their feedback ❤️
Footnotes
-
The exceptions are Disks, Files, Help, Settings, Software, System Monitor, Tour, Firefox, and Ptyxis. ↩