This is an article from itsfoss. Why read a copelied version here when we can read the full original version here: https://itsfoss.com/why-use-nixos/
deleted by creator
You do realize that updating is a non-deterministic process, right? The entire point of the nix language is to be deterministic. And the only thing these update scripts do is generate new nix code. It’s not like the nix part of nixpkgs calls these scripts during evaluation because “how limited the language is”. It’s literally just a script that does automated work for the package maintainers.
deleted by creator
It may be useful for advanced users that just don’t have time to bother with dependency hell… but, that’s about it IMO.
I find the concept of NixOS to be incredibly cool, and in terms of immutable operating systems it would in theory be one that I’m really interested in!
But the last time I tried it, I found that I was constantly fighting the system, and the documentation is all over the place and confusing. There’s things like “Oh hey use Flakes!” but then most of the documentation doesn’t really cover Flakes because it’s still considered experimental, yet it feels like the majority of the community uses it.
I also had software that would just randomly break, and when trying to track down the changes from Nixpkgs I couldn’t find anything that would prompt why it broke. Which… seems counterproductive to one of the strong points of Nix.
One example I ran into, is OpenRazer - the service is no longer being exposed and was reported 7 months ago. I did my best to try to track down the changes that broke it, but I suspect it’s possibly a lower level change outside of the OpenRazer package/module that caused it to break.
I get the impression that if I wanted to try to fix it, I’d have to take on the massive gauntlet of understanding how all of NixOS’ internals work, and while yes someday I’d love to have a better understanding, right now I’m more focused on just making sure the things I’d like (or even need in some cases, like software for my job) just works.
These comments really speak to me as someone who is comfortable in Arch but mildly interested in NixOS. The concept seems great, and it seems to work very smoothly when it works. Yet there are always these war stories where people have had to fight the system, to debug some misbehaving hack that is nonetheless required to smash a particular package into the NixOS mould. It is discouraging. The idea I get is that NixOS involves more time doing OS curation chores than does Arch, which already hits the limit of my willingness.
Flakes are another issue. The pre-flakes way seems to be de-facto deprecated, yet the new, flaky way is experimental. I don’t want to waste time learning a doomed paradigm, and I don’t want to depend on anything experimental.
For me, configuration files in git plus btrfs snapshots is just so straightforward. I want to see NixOS as a better way, but I can’t.
Pretty much, unfortunately. It sucks, because in order for Nix to accomplish its vision, things have to be like this - I don’t really see a way around it.
I am amazed by what the Nix[OS] community has accomplished and give high respect to them for it, but I can’t do it. If the documentation (and procedures, eg Flakes) were a bit more structured I’d probably be a bit more willing to put more time into trying to figure it out but… that’s just not the case currently.
I have similar feelings about immutable distros, it is a very intriguing concept but every single time I’ve tried one out, I run into some issue that requires hacks to get around it. If I did end up using one long-term, it’d probably be something from Universal Blue because it seems fairly easy to just modify the image. However, it’s still a massive paradigm shift of getting used to making changes at build-time (of the image), rather than making changes to your system at runtime.
For now, I just do pretty much the same thing you do, important dotfiles go into git, and btrfs snapshots for “Uh oh, something broke and I need things to work right now” moments (which is thankfully quite rare).
I find it hard to rate it positively, I see additional work and problems to solve things that have never been a problem for me. The last points are especially worthless with distrobox.
I’m the same… I setup a VM but it was so much work just to setup a basic machine with ssh I gave up on it… I’m also no sure moving all the config out of /etc into a script is scaleable at all. I get that by copying the script from one machine to another you can duplicate configs… but we already have ansible for that.
Indeed – why switching to a distro that tries to “reinvent the wheel”? Or even less so, one that makes (basic) things worse for the sake of “pros only”?
Of all the articles to copy and paste without attribution, you chose this one…?
Wdym?
Probably that if possible, you can link to original article from itsfoss. And possibly for all such news ( unless its overly bloated / behind a paywall )
I shared the article through my link precisely because the site is “overly bloated” with ads…
If that’s a problem, no trouble, I’ll share the original links from now on!
Sorry my comment was really snarky - I apologise. Long day! I’ll do better in the future :)
There has been criticism of this listicle format. Critics claim they are clickbait and machinated recycling of information/ideas. Listicles seem to exist to just get more ad impressions over entertaining and informing the reader.
The original article on the original site feels a bit like that. Loads of ads, with just one link to the actual nixos website, mid-sentence, towards the bottom of the article (where the majority of readers never get to).
No worries, and as I was saying, that’s why I’ve shared the article through my site, without ads
Do tell…
all articles that have a headline like that means it’s bullshit. …even if it’s not bullshit.
I love NixOS
I’ve been ripe for testing nix out for a while now, and I’m super excited. I just don’t have a machine to test it on first, and I absolutely hate dual booting. If I have energy one day maybe I’ll setup a VM to test it out in. I’m really hopeful to have it as my main daily driver os especially for its portability and stability.
Nix is a great os to start in a container with. Because then you can come the mic files you developed there anywhere and have the same setup with one command
deleted by creator