NixOS’ influence and importance at pushing Linux forward into the (previously) unexplored landscape of configuring your complete system through a single config file is undeniable. It’s been a wild ride, but it was well worth it.
And although it has only been relatively recently that it has lost its niche status, the recent influx of so-called ‘immutable’ distros springing up like mushrooms is undeniably linked to and inspired by NixOS.
However, unfortunately, while this should have been very exciting times for what’s yet to come, the recent drama surrounding the project has definitely tarnished how the project is perceived.
NixOS’ ideas will definitely live on regardless. But how do you envision NixOS’ own future? Any ETA’s for when this drama will end? Which lessons have we learned (so far) from this drama? Are there any winners as a result of this drama? Could something like this happen to any distro?
In case you’re out of the loop. Though, there’s a lot that has transpired since but which hasn’t been rigorously documented at a single place; like how 4 out of 5 NixOS board members have quit over the last 2 months or so.
OMG that’s a lot of comment lol. My brain is gonna melt when typing a reply to THIS in English. But I guess I can try.
Amongst users. It’s possible that every big and medium distro will have an immutable spin soon but it won’t be too popular.
I’m sorry but expressing my opinion on it greatly increases the chance of running out of energy which will make my speech absolutely illogical and ridiculous.
My brain always returns an “out of memory” error of the if/else solving module if I try to feed it this part so sorry if my response isn’t complete. I indeed made it look like the features of immutable distros are disadvantages to more people than they are advantages to. This is my opinion which might be biased since immutability goes totally against my workflow and the workflows I make for other people.
Worse for = not meant for; not meant for = unsuitable imo because there are just better options; this leads to worse = unsuitable. Maybe not completely unsuitable but at least definitely not good for.
You are welcome and thank you for not being toxic like at least approximately 2/3 of people on Lemmy (according to my not-so-accurate research).
Ok listen idk much about Nix ecosystem/infrastructure. I meant NixOS here. Sorry for the confusion. The habit of not including the “OS” ending comes from the Android community.
I’m sorry, mister/miss. My attitude to the society, people in general and Lemmy users is negative and suspicious by default. I have my reasons and, no matter how controversial it is, I’m not going to change it. Most of the people by far are bad and toxic so it’s ok to make this assumption the default. Again I’m sorry that this my assumption caused inconvenience for you.
It may not be a small niche but everything has a niche (even X11, Wayland, GNOME and Windows 10) so immutable distros can have a big one or a small one. As you said, future will tell. I don’t see them getting a large (more than 10-20% desktop Linux users) niche any time soon.
I don’t think it’s the case or at least I don’t have any information on it. Fedora just tries making new and very perspective stuff the first and the stuff always succeeded in the past. In the case of immutable distros, I feel like it’s gonna be some nice to watch chaos because new users will have to understand how to disable immutability to install drivers and fixes which means much more research (because most answers will just say “disable immutability for the directories that the fix needs” and the user will have no idea of any of that) and terminal commands. At the same time, immutable systems may be less suitable for advanced users who like tinkering. This makes a huge part of the Linux user base. Then I can say “told you” with pride. Though immutable distros are great for cases when the system must be limited to a certain task(s). On the desktop it’s the enterprise usage but idk how many % they are. I think it’s in the single digits.
Also we’re searching for the Lemmy’s comment length limit with these ones!!!
Excellent reply! I appreciate it.
Yeah lol. I’m sure we’ll (somehow) manage.
Aight. Thanks for (yet) another clarification. I obviously think that ‘immutable’ distros will heavily influence the future of Linux. Heck, I wouldn’t be surprised if all big distros will default to becoming ‘immutable’. However, that version of an ‘immutable’ distro may not exist yet. FWIW, it’s also (somewhat) in-line with Lennart Poettering’s vision.
If anything, I’d love to read this. So please, whenever you feel like it, consider returning back on this.
Fair. If it isn’t too much of a trouble, could you elaborate on your workflow? Like, are you constantly installing new stuff?
I implore you to use other words going forward 😜. Perhaps I’m wrong, but to me, this seems like an example in which your ‘bias’ seeps through.
Don’t worry about the confusion 😉. But thanks for your consideration! However, if I understood you correctly, this implies that you don’t consider NixOS an ‘immutable’ distro. Or at least not representative of ‘immutable’ distros. If this assumption is correct, could you elaborate on why you think that’s the case?
No worries, fam. Again, I appreciate your consideration!
Interesting notion on niche. Which I don’t think is necessary unjustified*. Though I am having a hard time coming up with a definition to how I understood your understanding. I initially thought of “everything that’s not (necessarily) mainstream”. But if you mention Windows 10 as an example, then that can’t be it. Perhaps “use” or “preference”? Could you (perhaps) define what you mean with “niche”?
Thanks for being transparent! Consider looking into the earlier given examples. Perhaps it’s even noteworthy to name some of the competitors that have perished against the alternative: Wayland vs Mir, systemd vs Upstart, Flatpak vs Snap etc.
Interesting. So, do you pose (as an alternative) that merely the successful is adopted? So they didn’t necessarily follow whatever Fedora did, but Fedora just happened to be on the winning team. Hence, the winner takes all.
Btw, what do you mean with “very perspective stuff”?
On what ‘immutable distros’ is ‘immutability’ disabled for installing drivers? I don’t recall the last time “disabling immutability” was mentioned within the discourse for a legitimate reason or fix. At best, some people that don’t know how specific changes are meant to be applied on the specific distro they use, succumb to the infamous XY problem and try to do stuff the wrong way. But this is not a problem found exclusively on ‘immutable’ distros.
Honestly, I have never encountered this. I don’t know where you get this idea from. I feel like you might have fundamentally misunderstood how (most) ‘immutable’ distros work. If possible, could you provide a link or anything in which that proposed solution is indeed mentioned most when tackling a specific problem found on an ‘immutable distro’?
Btw, I’m open to the notion that I completely misunderstood what you’re saying here. Therefore, if possible, could you mention your notion of what “disable immutability” entails. Like, how does that even work on something like e.g. Fedora Atomic?
It depends. Some advanced users actually love the reproducible aspect that comes with (most) ‘immutable’ distros, because this enables them to tinker to their heart’s content without being afraid of losing a working system.
While I wouldn’t be surprised if this has been the case for the longest time, I do think that as Linux successfully attracts an ever bigger crowd, that eventually a huge part of the Linux user base will consist of normies. And, as it stands, I can only see them go for stable (by release cycle) distros or ‘immutable’ distros unless some other drastic changes happen in the mean time that enables your Average Joe to run a (semi-)rolling release distro without troubles.
My previous comment was perhaps too enthusiastic 😜 . I’d like to slim it down as follows:
To be absolutely clear, these notions are (almost) alien to me. I’ve only come across these with new users that had fallen for the (infamous) XY problem. But that’s not even remotely representative. Hence, would I be correct to assume that your understanding of ‘immutable’ distros is relatively shallow? Which, to be absolutely fair, is totally fine.
Though, the possibility exists that your understanding of “disable immutability” is correct, but this particular phrase happens to be misleading instead. Hence, could you perhaps elaborate on what you mean with “disable immutability”? Like, how does that look like on any ‘immutable’ distro you’re familiar with?
Thank you in advance 😊!
I am sorry, mister/miss. Something weird happened to my Lemmy account and it was inaccessible for 2 days.
Immutable distros are good for cases when the machine is meant to be used for very specific tasks and applications while maintaining extreme stability and ease of updating. This includes OSes for ATMs, machinery control panels, enterprise office computers with very strict policies, educational computer class devices. I am not sure whether they are good for critical infrastructure such as aerospace industry and on-board computers so I can’t comment on that and it’s too early to do so anyways. Immutable systems can also be used for regular modern workspaces if stability (and possibly security) are preferred over absolutely everything else.
For me an “immutable distro” is defined more by its read-only (or R/W with write being disabled by default) root file system than by reproducibility or any other stuff. Afaik NixOS does not use any form of read-only FS so that’s why it is not an immutable distro to me.
No matter how good your distro is, there always will be new users that need fixes or customizations that require extra steps and research on immutable (as in my definition) distros. This increases the chance of them giving up on Linux or creating angry/toxic posts on Linux related websites and communities.
“Disable immutability” means “allow persistent changes for files and directories located in specific directories that are not in the /home directory/partition (“read-only” directories)”.
Thank you. Thank you.
No worries, fam 😉.
I think we very much agree on this. I am actually surprised 😜. Perhaps we (possibly) only ‘disagree’ on the following:
I actually even agree with this. But, and here it comes, you limit the use of ‘immutable systems’ when it comes to regular workspaces to just a subset that complies with “if stability (and possibly security) are preferred over absolutely everything else”. However, I’d argue it will soon become the preferred model for most people; simply because I’d argue the net positives dramatically outweigh the (diminishing) net negatives. And this ‘clash’ in perspectives is literally a philosophical/ideological one. Which, I actually tried to allude to in my very first comment. Btw, neither of us is right or wrong; as mentioned earlier, only time will tell.
Alright. So, you prefer to refer to ‘immutable’ distro in the literal sense.
Regarding the status of the read-only (or disabled R/W) root file system, does this have to apply to the complete root file system; i.e. absolute? Or does it suffice if only a select subset of the system is read-only (or disabled R/W)?I wanted to ask this, but later on you made clear that a system does not have to be completely and absolutely immutable for it to be considered immutable; a couple of read-only directories suffices.Furthermore, is it required that an immutable system should remain immutable at all times for it to be considered an immutable system; i.e. changes are not allowed besides ‘hacks’? Or is it perhaps possible for a system to be deemed immutable if it only possesses immutability during runtime?
Thanks in advance for yet another set of clarifications 😜!
Teaser; the Nix Store, i.e.
/nix/store
, is immutable.Very interesting. So, on Fedora Atomic,
rpm-ostree install <package>
would be considered “disable immutability”. Right? But, this does not apply toflatpak install <package>
. Right?To be clear, new users will most likely experience some issues on Linux for the time being. I don’t think that ‘immutable’ distros are immune to that. Nor do I think they’re particularly more troublesome. If anything, they allow for more stable experiences overall; which you seem to allude to as well.
Idk if it changes anything but in that part of my comment the word “workspace” should’ve been replaced by “workstation”. I guess I chose a wrong word in autocorrect.
I think you have misunderstood my reply a lot. An immutable system is when everything (or almost everything) except for /home is read-only. Idk if my English was an issue there but it looks like you understood that part completely upside down.
Probably. Idk anything about ostree. What I meant is that if you want to manually edit a file anywhere except for /home (or do any manual changes to the system like installing a GTK theme), you have to run a command (I forgot which one) to disable immutability for the directory it’s in (or only for the file; I don’t remember). For new users it can be a problem because it may be hard for them to find a good tutorial that covers all the steps, especially at the start of the “immutability boom” if it’s ever going to happen.
As I just said, more stability means that issues are more stable and hard to solve as well.
Quick reply. Awesome!
Nope, it doesn’t. But thanks for clarifying!
Interesting. Here’s the thing; I am unaware of any so-called ‘immutable distro’ that fits this definition/description/notion/idea/understanding of an immutable system. So…, where do we go from here?
In retrospect, I think you actually did an okay-job at explaining your thoughts. But, yes; I did indeed misunderstand. Thanks for clarifying!
In Fedora Atomic, most of
/usr
is immutable. IIRC, this is even the only directory (combined with the sub-directories found within) that are immutable. However, the commandrpm-ostree install <package>
allows the user to install packages into/usr
. However, this change doesn’t happen during runtime. Instead, a new image/deployment is created with the newly installed package that you can access after a (soft-)reboot (or with--apply-live
if you like to live on the edge).Based on this, does this still apply as “disabling immutability”?
This seems to be based on your own experience. If so, would you be so kind to inform me on which distro this was?
Currently, apart from the documentation provided by uBlue and Guix, there’s definitely a lack of good resources for ‘immutable’ distros. That’s simply a fact. But, thankfully, this is not a problem by design; we just need people that are willing to put in the effort.
Sorry, I’m having a hard time understanding this. Could you perhaps provide an example of this from e.g. Debian? It can be any distro that’s regarded as ‘stable’*.
Unless I’m wrong, you seem to have missed the following. It would be awesome if you could touch upon these as well:
Thanks in advance 😊!
WOW, I just noticed something. You’ve been using the term “immutable system” for quite some time. And, I’ve primarily been using the term ‘immutable’ distro.
This is enough to cause most of the issues.
Not really because this is a pre-installed tool that doesn’t require any hassle to get working.
It wasn’t my experience. I’ve never tried an immutable distro myself because it goes against my personal preferences and needs. I saw that on YouTube. I don’t remember what distro it was unfortunately but I’m almost sure it was Fedora based. Also in case you didn’t know, GTK themes are usually installed in /usr/share/themes so disabling immutable is required to do so even if /usr is the only thing that’s immutable.
Sure but this excuse won’t help new users and won’t stop them turning away from Linux.
I meant the disadvantages of immutable systems here, not stability in general.
I have no idea what a runtime is so I can’t answer this question.
I use the term “immutable system” because someone can create an immutable fork of BSD or even Windows can become immutable. It’s not just about Linux.
You’re on fire, fam! Thank you for another quick one.
Before moving on, I want to make clear that I should correct some of my earlier statements. It probably doesn’t matter, but for sake of completeness.
What I describe above is not meant for immutable systems, but for ‘immutable’ distros.
I didn’t imply otherwise 😜. I was just explaining how immutability works on Fedora Atomic.
Excellent. I agree. So, “disabling immutability” therefore only applies to ‘hacks’. Right?
Thanks for being transparent! I also appreciate you sticking to your values.
I knew this (and also how
~/.local/share/themes
could be utilized for this). But, fair; this is indeed something that Fedora Atomic’s old model didn’t allow. Or, at best, very ‘hacky’. Like, it’s basically not intended for the end-user to put stuff in here. Fedora Atomic’s new OCI-enabled model does allow this. But, yeah…; we ain’t (necessarily) here to discuss implementations. Fact of the matter and the issue at hand is that traditional distros don’t deal with issues like these. Right?IMO, if a new user wants to use an ‘immutable’ distro, then they should just use one of uBlue’s images. They’re like the Linux Mint or Zorin or Pop!_OS of immutable distros. And, as previously mentioned, uBlue’s documentation is at least sufficient. Traditional Linux distros are not to blame if a new user breaks their Manjaro installation. Similarly, ‘immutable’ distros are not to blame if a new user breaks their not newbie-friendly ‘immutable’ distro.
I think I got you now. Like with the previously mentioned issue with placing themes inside the
/usr/share/themes
directory; on any traditional distro, you’d be free to place it there and you wouldn’t even have noticed a thing. While some 'immutable’ distros, like Fedora Atomic, make this hard. Do you think I understood you correctly?The expression “during runtime” is used to express a running and/or currently in use system. So, if my device is off, then the expression “during runtime” does not apply. When I’m using the system or even if it’s just idling, then the expression “during runtime” does apply. However, it’s possible with Btrfs (and more sophisticated technologies) to create a partition/deployment/image on your disk that’s currently not running nor in use and which has some changes compared to your running system. Then, once again, the expression “during runtime” does not apply.
Perhaps, I could be even more elaborate. So, on the overwhelming majority of ‘immutable’ distros (Guix System and NixOS are literally the exception) that offer a built-in mechanic for installing packages to the immutable base system (like the aforementioned
rpm-ostree
that’s found on Fedora Atomic), the changes are not meant to be applied directly on the running system. So, for example, right afterrpm-ostree install emacs
, I can’t just typeemacs
in a console/terminal and expect it to open. Nor does it appear in the app drawer. Only after the (soft-)reboot will I be able to use Emacs; be it through the console/terminal or find it in the app drawer.So, these are examples of ‘immutable distros’ that are only (meant to be) immutable during runtime, because it’s possible to apply changes to a system that’s not currently running/in-use/idle or whatsoever.
Interesting. Thanks for that clarification.
The crux of this conversation lies here I believe. Your notion/understanding of an immutable system is probably more correct and more in line with what you’d expect from its name. However, the name “‘immutable’ distros” is unfortunately not descriptive. Contrary to what you’d expect, it’s not a distro that happens to be an immutable system; at least, not in the absolute/complete sense.
I agree with you that this is misleading and a poorly chosen name. Heck, Fedora agrees with you; they’ve changed “Fedora Immutable Desktops” to “Fedora Atomic Desktops” because of this. However, as bad as the name is, people use the term “‘immutable’ distros” when talking about Fedora Atomic, Guix System, NixOS, openSUSE MicroOS and Ubuntu Core.
That’s why I said this:
And, to be honest, I’m not sure if you answered the bold question.
Thanks (once again) in advance! And apologies for this long comment 😅.
Idk if everything can br called “hacks” but mostly yea.
I know but idk if GUI apps and extensions can see themes installed in ~/.local and how many installation guides tell about that method.
Idk how it works and how simple it is but gtk that.
Exactly.
But we’re talking about situation when user-friendly distros become immutable. If the user willingly chooses an advanced distro, it’s not the distro’s fault but, for example, you said that Fedora expects their immutable options to become mainstream. I know that Fedora and other immutable distros are often recommended for new users now. This means that the ones that recommend them consider them user-friendly. Imo this, as well as rumors about Canonical want to make Ubuntu Core the default desktop offering, destroys your point in the context of this discussion.
Yes that’s exactly what I’m talking about.
Thank you for the explanation. I appreciate it. And in this case I think my definition of immutability applies to these “runtime-immutable distros” too.
Another (but small) confusion point for new users.
I understand it.
Idk what to answer. Full or partial immutability, it still creates the same issues I described.