Fedora Silverblue as Daily Driver

March 1, 2023

Fedora Silverblue has come a long way! It’s an immutable Linux distro based on Fedora Workstation.

After a frustrating Debian installer bug, I gave it a try for the first time in a couple years. Now I’ve been daily driving it for the past few weeks.

Here are some observations…

Most of the filesystem is a read-only image (using OSTree), which is excellent for security and stability. The homedir and /etc are still writable.

Using a tiling window manager in this type of environment used to require significant effort. Fortunately there’s now an easy rpm-ostree solution that not only installs i3, but also retains the convenience of Gnome integrations. A huge thanks to machadovilaca for adapting the work of Regolith Linux for use w/rpm-ostree: machadovilaca/fedora-silverblue-i3-gnome-flashback

For CLI environments, building toolbox containers is the recommended approach for customization. I was able to re-create my usual shell environment with minimal effort.

Toolbx provides many convenient integrations between the container and the host system. Mounting the homedir is an obvious one. What caught me by surprise was when my Yubikey worked after going through its usual setup process inside the container. I figured I would need to use console PIN entry, but I tried pinentry-gnome3 and it worked! (I think this is thanks to D-Bus integration, still have much to learn in that area…)

The only obstacle that has set me back more than 5-10 minutes was getting KinD (kubernetes in docker) running. This was entirely due to rootless podman, and it took about an hour to get past. After reading some docs and issues, and learning about CGroup delegation with systemd, my dev cluster was up and running. Most of the solution is provided in the docs, but I wasn’t up to speed on rootless podman.

Overall, I feel Silverblue is a suitable daily driver for two types of users:

For the rest I think it may still seem frustrating, but if an immutable Linux distro sounds appealing, why not give it a try?

The debian-installer issue was a bug in the Bookworm (aka “testing”) release, where the disk partitions it created can’t be read by the bootloader. Due to nonfree firmware issues, I need the newer kernel in this release. I tried pre-partitioning in Bullseye (aka “stable”) multiple times without success.

I’ll stick with Debian on my home servers, but I’m liking the OSTree setup so much (and Silverblue works so well out of the box) that I’ll keep it on the laptop for the foreseeable future.