I was thinking about going immutable for a long time and now I’m choosing a distro to hop to.
My question is: what are good immutable distros other than Fedora Silverblue spins, UBlue family and NixOS?
Maybe someone uses/used any? What is/was your experience with it?
Don’t use NixOS.
Source:
- I love NixOS
- I use it as my daily driver on multiple machines.
- I’ve contributed both to NixOS and surrounding ecosystem.
Evidence:
- Learning cliff rather than curve because:
- The state of the documentation should have been unacceptable a decade ago. Very unacceptable now.
- The tooling is also over a decade behind.
- Governance leaves a lot to be desired.
These things are getting better but not fast enough that I’d recommend it.
If you really want to look into nix, use it on another distro and see if you’re still interested after getting a flake-based devshell together. (impossible challenge: do it for a python project that relies on complex dependencies like transformers)
Governance leaves a lot to be desired.
Genuine question from somebody who’s out of the loop and doesn’t use NixOS: How does this affect your day to day using the distro?
Basically you hemorrhage contributors because fuck this shit and then core components get more and more behind.
Don’t use NixOS.
I don’t like NixOS very much. This whole governance scandal has turned me away from it even more, tbh.
Here’s a resource I’ve been keeping in my back pocket for when I dive in:
I’ve heard good things about VanillaOS. Not used it myself though.
With their package manager apx, you can use software from pretty much any distro in VanillaOS (copied from link above):
Apx is a tool that allows you to generate work environments based on any Linux distribution and seamlessly integrates them with the system in a convenient way …
I’ve been using Opensuse Aeon just over a year and it’s done great.
Tumbleweed user for the last 5 years, and dealt with a few issues over that time. The usually infrequent update break that comes with rolling release. And the Opensuse ‘Patterns’ started, which I loathe and it’s a disaster to try to disable them every install.
Aeon hasn’t had any of those issues. It’s been very much a “turn it on and get to work”.
I’ve generally had less issues with Aeon than Tumbleweed - like certain flatpaks not crashing.
But downsides as I see them:
I’m not a gnome guy. It’s fine though, I don’t hate it. But some people can’t stand it.
I had a bit of trouble running wine. Something about the default security policy. There’s a known workaround.
I’m surprised to hear you don’t like Fedora. I recently tried Kinoite and I wish I’d discovered it sooner. I’ve never had a Linux distro that felt so detail-oriented and complete. I’d be curious to hear your reasoning!
It’s complicated and I have a few reasons.
- Last time I used it, Fedora’s updates were too unstable. I twice got updates breaking my system setup. For example, with openSUSE it happened only once (recent broken Mesa update). Also openSUSE updates surprisingly feel more stable than Fedora ones.
- I don’t like Red Hat. Even though I understand that open-source projects are complex and I should separate developers from their software, that doesn’t change my opinion on Red Hat.
- This problem stems from the previous ones. Using Fedora I feel like a beta-tester for future Red Hat projects and especially RHEL.
Keep in mind, that I last used Fedora on versions 37–38 and things might have changed since.
Please don’t hurt me but what’s an “immutable” distro?
As I understand it, it’s read-only, so the updates you get are basically replacing your current ones but keeping your apps (like flatpaks) installed.
Gotcha, thank you!
I think about it like this:
Layer 2b: ->> User applications (flatpak, nixpkgs, etc.) Layer 2a: ->> User data (mutable, persistent no matter what your system layer is) Layer 1: -> System (immutable/read-only/updated "atomically" meaning all at once) Layer 0: Hardware
Or, alternately, it’s what macos has been doing with absolutely no fanfare for several versions now. That’s not a knock, btw. It’s an illustration that it can be completely transparent in use, though it may require some habit changes on linux.
It’s a distro that makes all but a few system directories immutable. This means you can’t just install whatever you want in the same way you would install in a traditional Linux system.
This comes with some benefits:
- Malicious and buggy software can’t permanently fuck up your installation. Even root can’t edit those directories.
- Each system update replaces only the system layer, but you can rollback to the previous one if something breaks.
- You can rebase to other images (like going from Fedora Kinoite to UBlue Aurora) with a simple command, and you don’t need to reinstall anything or worry about backing up your /home directory.
- Most software is installed via flatpaks or appimages, keeping a layer of separation between your system and your applications.
- Distroboxes/Podman containers can handle a lot of additional software while keeping it safely containerized.
- The system is generally reproducible, so the core of what you have is the core of what everybody else has.
Some drawbacks:
- You can’t install whatever you want however you want. There are some hard limitations on where files are allowed to go, and installing certain software that interacts with the kernel can be tricky (I’m currently trying to figure out the best way to install my VPN provider’s client).
- There’s a definite learning curve to working with containers. It’s not always as simple as “create container, install thing.”
- There’s a definite learning curve to retraining yourself to think in layers/containers.
Some examples of modern immutable distros are:
- Fedora Silverblue
- Fedora Kinoite
- Universal Blue Aurora
- Universal Blue Bluefin
- Universal Blue Bazzite
- NixOS
- BlendOS
Bazzite! It’s technically atomic and not fully immutable but I’ve been using it for about a week now (long time I know) and everything just works. Didn’t need to install any extra drivers to get it working with all my peripherals. I like it a lot. Fixed a lot of Wayland issues I was having on previous Ubuntu installs.
One feature I found really cool is the Waydroid and Boxbuddy integration. You can have Android apps installed alongside regular fedora apps. Just opens an Android emulator in the background. Discovered that last night by accident. Typed in “calculator” and it opened up the Android version of it. Really neat!
Bazzite is cool, but it is part of UBlue family, which I excluded in my post. I’m not a huge fan of Fedora, no offense to anyone using it, tho!
There is blendOS which is an arch based immutable distro similar to Vanilla OS with different DE options
Except the installer requires one specific repo mirror to be up, which can’t be customized, which has been down for weeks and the dev isn’t very interested in providing any fix or workaround so a lot of people literally can’t install it.
It’s a bad suggestion, it’s a beta product not fit for end user consumption yet.