Distrohopping to Fedora Silverblue
Alternate title: Making My Computer Boring
The way I’ve been using my computer, the laptop that got me all the way through school, has changed a lot since I graduated. Between classes and homework sessions I’d often have downtime, and I used to fill this with things like tweaking my setups, random internet browsing, watching videos, you get the idea. Managing my Arch system was something I kind of enjoyed doing, and it was different enough from my school assignments that I’d still have energy to do it even when I didn’t have energy for other things I wanted to do like personal programming projects.
The past couple weeks though I’ve started to notice I really only take out my computer when I have something specific I want to accomplish, like writing a post or working on a project idea. And in this case Arch was starting to feel like a hassle. Updating every couple of weeks was annoying even when it went smoothly, which it didn’t always. I also was running Hyprland and the pace of development on it is still really fast with the developers not being afraid to make breaking changes between updates. I just didn’t have the patience to keep up anymore, which isn’t to say anything bad about the project but rather that my computer usage has changed.
Why Fedora and immutability?
My impression of Fedora from hearing others talk about it was that it’s a pretty vanilla, “just works” distro — exactly what I wanted. I started browsing the project’s website and learned about Silverblue which is Fedora’s immutable edition shipping with the Gnome desktop environment.
Now that sounded interesting! With an immutable OS I wouldn’t even be able to make changes to the root filesystem. In theory I’d have to go way out of my way and do something comically stupid to screw up my system.
It sounded like upgrades on an immutable OS were really easy too. You can use your computer during upgrades, and applying them is as simple as doing an ordinary reboot. Because everyone is running the same image, you can be pretty confident that nothing unexpected will happen. How updates are handled alone solves one of the big pain points I’ve started having with Arch.
On the rare chance that something does go wrong during an update, the previous state of the system is preserved and is always available to boot to in the Grub bootloader. Sounds almost bulletproof to me.
Wait, Gnome is good now?
I had my impressions from other people confirmed pretty soon after the installation. Fedora Silverblue comes with a very vanilla Gnome desktop with almost no extras preinstalled. That makes for a good first impression in my book!
The last time I used Gnome was back when they still used the 3.x versioning. I never hated it but never loved it either. But now either a lot has improved since then or my tastes have changed. Probably both. It’s pretty easy to drive with either a keyboard or mouse, and I really appreciate how consistent the theming and design is. I’ve kept it mostly vanilla and don’t have any plans for theming it. The only extensions I’ve installed are Blur My Shell, because I can appreciate some tasteful blur here and there, and a panel app indicator, because why oh why have the Gnome devs not added this yet.
What’s it like using an immutable OS?
There’s no immediate giveaways that you’re running an immutable OS. Thanks to flatpaks, installing most user-facing software is as simple as opening the software center, doing a search, and clicking a button.
Developers or people that like to make tweaks will hit a snag pretty soon though when they find out that dnf
, Fedora’s package manager, isn’t available. That makes sense since not making changes is the whole idea of an immutable OS. The good thing is that there are two software installation methods that can still be used instead of running dnf
directly.
The best method is through a tool that Silverblue ships with called toolbox
. It makes managing and interacting with containers really easy, and it’s in these containers that dnf
is available for installing software. You can do and install whatever you want in these containers, and then quickly run anything in a container with the command toolbox run
. I’d recommend reading Silverblue’s docs on toolbox if you want to learn more, but just know that so far it’s made immutability really painless to work around (especially after setting up a shell alias for toolbox run
).
The other method is recommended to be used sparingly since it requires a reboot and adds complexity. You can use something called package layering to add packages to the base system. So far the only uses I’ve found for this are installing fish, my preferred shell, and installing vim, since any system without it feels incomplete.
What do I think?
At first I wasn’t completely sure about immutability with Silverblue. I thought it would be a neat experiment and I’d end up switching to regular Fedora if I hated it. After a couple days though I’m starting to think I made the right choice.
In some ways Fedora Silverblue feels like a polar opposite to Arch. Not that I dislike Arch now, but it’s refreshing changing my computer into a tool that I don’t really have to think about all that much.
If this post got you curious about Fedora Silverblue, the user guide on Fedora’s docs might be a good read for you. I’d also be happy to answer any questions that a new user might be able to answer. If you’ve got any tips or interesting experiences with immutable OSes I’d love to hear them.
— JP