this post was submitted on 30 Jul 2023
29 points (89.2% liked)

Linux

45573 readers
696 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

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
[–] [email protected] 11 points 11 months ago* (last edited 11 months ago) (4 children)

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.

[–] [email protected] 5 points 11 months ago

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.

load more comments (3 replies)