So I’ve recently taken an interest in these three distros:

All of these offer something very interesting:
Access to (basically) all Linux-capable software, no matter from what repo.

Both NixOS and blendOS are based on config files, from which your system is basically derived from, and Vanilla OS uses a package manager apx to install from any given repo, regardless of distribution.

While I’ve looked into Fedora Silverblue, that distro is limited to only install Flatpaks (edit: no, not really), which is fine for “apps”, but seems to be more of a problem with managing system- and CLI tools.

I haven’t distro hopped yet, as I’m still on Manjaro GNOME on my devices.


What are your thoughts on the three distros mentioned above?
Which ones are the most interesting, and for what reasons?

Personally, I’m mostly interested in NixOS & blendOS, as I believe they may have more advantages compared to Arch;

What do you think?

  • The single killer feature that convinced me to move to NixOS is the ability to very easily keep separate development environments separate. For instance, if you’re working on multiple dev projects that have different minimum requirements, and you want to ensure that (for instance) you don’t accidentally use features from after boost 1.61 for project A, because that’s the stated requirement, but you need features from boost 1.75 in project B.

    In a normal distribution, in order to set up an environment that has the proper version for project A you’d need to set up a chroot, a virtual machine, a complicated set of environment variables in a bespoke script with custom installation paths that you need to set up manually and remember to source, or just install a newer version of boost and rely on continuous integration to catch it if you screw up.

    In NixOS, you can set up different shells which all reference the exact correct version of the libraries required for every project, you can have them installed simultaneously and without conflicts, and there’s even a shell hooking program that will automatically load and unload this configuration when you change directories into and out of the project folder. It makes managing many different projects much easier. It’s like a better version of venv, but for everything.