Let's do a #NixOS Q&A thread! Ask me anything conceptual about Nix, NixOS, or related tools, and I'll answer honestly and to the best of my ability (including if the answer is that it's not a suitable tool yet!)
Please don't ask specific "how do I fix ____" questions, though - those require too much energy and back-and-forth for me to answer right now, and are probably best asked in the support room on Matrix instead.
Anything about the concept, the governance, whether certain problems are already solved, etc. is fine though! Particularly the kind of questions that are difficult to find a coherent answer to by yourself.
My perspective is that of someone who has been using NixOS for a long time, and is somewhat adjacent to governance, but who holds no formal position in any of it. I'm enthusiastic about where NixOS can go, but also critical of where it is today.
(And if your question is about what utility function to use, it's probably in this chart that I made: https://nix-cheatsheet.pixie.homes/)
@ebi (Answer here, it accidentally got detached from the thread: https://social.pixie.town/@joepie91/109496985119038881)
@joepie91
Thank you!
@joepie91 Are flakes the future and how much do you expect them to change until they are "stable"?
long, Nix, flakes
@pinpox From a governance perspective, I'd say that it's highly likely that Flakes will indeed end up replacing various of the current mechanisms.
The model also generally makes sense - it addresses a bunch of real problems with how Nix works today, IMO, in a pretty effective manner design-wise. The RFC actually does a decent job of explaining the motivations: https://github.com/tweag/rfcs/blob/flakes/rfcs/0049-flakes.md
That having been said, the standardization process has been... suboptimal, to put it mildly. The whole RFC process (which is *supposed* to be used for this) was pretty much bypassed, the design having been pretty much settled upon before the RFC process even really started, and this has frustrated quite a few people.
The implementation process has also been a mess, and this could probably have been avoided by actually involving the community, instead of just dumping it into everybody's lap.
(Think "half the community is depending on an experimental-flagged feature and CLI tooling is getting updated in such a way that it sometimes just doesn't work with Flakes disabled anymore, etc. - on paper it's still unstable, but in practice it's largely become a requirement.)
Given the problematic standardization process, I'm not optimistic about community feedback really being considered prior to stabilization, and so I don't expect much to change.
We'll probably end up with a pretty decent system in the end, but it could have been done *so much* better if more work went into the governance side of things, and the community was actually involved in the design process.
TL;DR: It's *technically* not stable yet but for all practical purposes it pretty much already is.
long, Nix, flakes
@joepie91 Thanks for the detailed response! I'm using them myself for pretty much everything but have only witnessed the introduction from "outside", which seemed a bit messy. Still think they are a good idea and hope after all the chaos has settled we end up with a good result.
@joepie91
How do you see the current and future status of NixOS in ARM/Mobile devices?