this post was submitted on 30 Jul 2023
30 points (89.5% liked)
Linux
47918 readers
1343 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
There are two different immutable OS models hot on the table in the linux space I see: The Nix[^1] way and the Silverblue[^2] way.
Both have immutable filesystems which deviate from the FHS, provide atomic updates, and support the creation of more-or-less isolated environments at the user level. But the way the two models implement these features is very different.
The Nix way takes inspiration from the world of functional programming, while the Silverblue way takes inspiration from the containerized, cloud native technologies which are used so widely in the industry.
I believe the idea that these two approaches share is the future of linux on both the server and the desktop, and it is only a matter of time before some (if not all) of these advantages become mainstream. However, I am uncertain of which approach is superior.
I have personal experience with Guix and enjoyed it greatly and even recommend others try it or Nix out for themselves, but there are some complexity issues. It is not clear to me whether these issues are growing pains, or symptoms of a fundamentally overcomplicated system to solve a seemingly simpler problem.
The Silverblue way I have no experience with, but seems like a more grounded approach to tackling the specific problems laid out. The big area where Silverblue seems to lack in comparison to Nix/Guix is declarative, reproducible system configuration. With Nix/Guix you can just throw your system config file up in a repo, and anybody else can pull it down and install that system bit-for-bit, including future you! With home manager this extends to a large extent to user configuration as well. Of course with Silverblue you can create images, but that is less straightforward and powerful (at least for now).
What are ya'll's thoughts on immutable OS's?
[^1]: The only other example I am aware of is Guix, which imo is the superior implementation, but it is newer and less popular. [^2]: Others include openSUSE's MircoOS/Aeon and Vanilla OS.
As a causal user, they sound awesome. I want a stable system and, if possible, never touch the Terminal to fix some stuff + I'm okay with Flatpaks, since I have more than enough disk space for them. The only slight annoyance would be theming in my case, but that's a minor problem that is probably easy to fix.
I'm actually very interested in Vanilla OS, since it is a community-driven Distro. I will probably switch fully when they bring out the KDE version.
I don't know too much about Vanilla OS, is it not possible to install your own DE or WM?
I'm less interested in Vanilla OS since it's based on Ubuntu and I'd rather not support / rely upon anything Canonical if I can help it.
Silverblue (+ spins) seems like the best option since it is the most mature, most popular, and is a community run distro. Of course Redhat pours a lot of resources into the Fedora project since it's upstream RHEL, and so does SUSE for MicroOS. But honestly if Redhat/SUSE were to disappear tomorrow, I think Fedora and OpenSUSE would be fine, whereas I can't say the same for Canonical+Ubuntu (and thus their descendants).
edit: After looking more into Vanilla OS, it looks very nice! Funnily
apx
addresses excatly the issues with distrobox pointed out in this thread by @[email protected]. They also plan on moving from being Ubuntu based to Debian Sid based, which would be even better than Fedora as Debian is a true, 100% community backed and time tested distro (though still of course much corporate support).I've been using Nix for over a year. And have had a pretty good experience. Then in the last 2 months I've switched to Guix. Its definitely farther behind. But it has such a better tooling story. I really wish folks could see the potential it has and build for it rather than nix because Guix has so much going for it.
The overall experience for both is great. You get declarative configuration and easy rollback. You do need more storage but it's not much worse than windows really.
I've played around with NixOS, Silverblue, and MicroOS (has recently been renamed Aeon) in VMs and really dig the concept. My general thoughts are:
NixOS - a genius idea but quite a steep learning curve as you have to throw out a lot of what you know about traditional Linux OSs and learn to do things the Nix way. Is too much for me to use as a daily driver, personally, but for people who need to spin up reproduceable systems super quickly, it would be amazing.
Silverblue - much more user friendly than Nix, but (like Fedora) the out of the box experience is a little awkward, especially if using vanilla Gnome with no extensions or modifications doesn't appeal to you. If not, then you're going to have to layer on things like Gnome Tweaks and Extension Manager and that can be a little confusing if all you're used to doing is running
dnf install package
in a terminal.MicroOS / Aeon - This is, IMO, the best of the three for beginners because it comes with a lot of quality-of-life additions out of the box: distrobox, Gnome Tweaks, and Extension Manager are already built-in so you don't have to figure anything out (well, apart from how to use distrobox of you aren't already familiar). The only thing I think that Silverblue does better than Aeon is updates, which are a little opaque in the latter. Also, because Aeon is based on OpenSUSE Tumbleweed it is, in theory, less of a stable base than Fedora. (edit: oh, and documentation too! Silverblue is much better in that regard.)
I haven't tried Vanilla OS yet, but it looks pretty interesting. I'm waiting for the 2.0 Orchid release where they'll be moving to Debian Sid before I take it for a test run.