I’ve been running stock Fedora for about 5 years, but I’m really interested in immutable distros after putting Bazzite on my TV Gaming PC. Batteries-included works well for me in a use case like that.
I have about a decade of experience with containerisation, so leveraging that experience for my desktop is really appealing.
I took a look at Bluefin for my laptop, but it seems to be more opinionated than I’d like. I’m good with having an optimised kernel and tooling that makes sense for an immutable distro, but wasn’t a huge fan of preconfigured Gnome extensions and the software I don’t want.
I haven’t tried Silverblue yet, but I plan to do that next. Vanilla OS is on my list too, but more out of curiosity in how it does things.
My questions are: should I be looking at any other distros? Do I need to shift my expectations of an immutable distro even more?
should I be looking at any other distros?
From what I can tell,
- containerization is appealing to you; almost all of them employ this to some degree, but some more than others. More on that later.
- your preference goes out to (closer to) stock experiences rather than opinionated ones
I take it that you’d rather stick to the (relatively-speaking) more popular options. Not that popularity is necessarily good, rather not used by anyone else is bad.
Then, the following are worth looking at as well:
- NixOS; it’s quite different to all the others, perhaps we may call it obtuse by comparison. But, it has been going at it for the longest; heck, it’s older than Ubuntu. And, in my humble opinion, is one of the main inspirations for the others. But, contrary to the likes of Fedora Atomic or Vanilla OS, it doesn’t go all-in on OCI. Therefore, it might not be as smooth of a transition.
- Guix System; the answer to “What if we had FSF-compliant NixOS, but with actually good documentation?” Jokes aside, this is a cool and underrated distro.
- openSUSE Aeon; relatively new still, but perhaps already offers the most secure OOTB experience. However, from what I can tell, in terms of transition to OCI, it doesn’t strive to be very revolutionary (as of yet). Fedora Atomic seems to be a relatively significant (and IMO exciting) departure from traditional Fedora. By contrast, openSUSE Aeon seems more like a revolution with a (very) small r. Though, one may argue this is mostly due to maturity. Consider openSUSE Kalpa if you’re feeling particularly adventurous.
- uBlue’s base images; Aurora, Bazzite and Bluefin are built from these. These are vanilla images with only hardware enablement, codecs, other RPM Fusion goodies and more that anyone installing Fedora Atomic would want on their systems anyways.
- Create your own; See this link if you know how to write containerfiles. See this link if you prefer yaml (.yml to be more precise) instead. The previous links were more focused on Fedora Atomic, this link offers Vanilla OS’ answer.
Other distros found on lists like this one didn’t make the cut for various reasons; sometimes it’s just because I haven’t heard enough of it.
Do I need to shift my expectations of an immutable distro even more?
Uhmm…, I don’t know exactly what your expectations are 😜.
FWIW, from what I gather, either (something based on) Fedora Atomic or Vanilla OS should be right up your alley.
This is really helpful thanks, I’ve got some reading to do!
Ublue (the group behind Bazzite and Bluefin) has instructions for creating a custom image. It’s more than I’d want to take on, but maybe you’d be interested?
Oh I didn’t know that, will have to take a look!
I’ve yet to dig into the how , but I’m pretty sure you can set up a git workflow to build what #bluefin builds and then use your own customized docker file to add/remove apps and change settings to your liking.
I’m hoping to get this working myself when there are some ARM64 bluefin builds.
I currently manage >90% of my desktop Fedora install with Ansible, so this feels like a spiritual equivalent to that. If I could get the Bluefin folks to organise they layers the right way I could avoid needing to track what needs to be undone, and the extra storage and transfer needed for content I’ll hide under my layer. Definitely something to think about.
I was reading this thread thinking, “this isn’t the time to recommend NixOS that’s not what OP asked about.” But if you’re using Ansible this way NixOS might be a good fit for you. It’s got the advantages of the other immutable distros with the added feature of managing everything through a declarative configuration.
Not a direct answer, but any distro can be immutable if running on some CoW filesystem like BTRFS. Even That’s not a prerequisite, as such, but it does makes things so much easier.
If you like Bazzite, then go for the Bazzite-stable instead of Bazzite-deck. It’s the same but it doesn’t boot into Deck UI.