this post was submitted on 09 Oct 2025
5 points (64.7% liked)

Nix / NixOS

2482 readers
1 users here now

Main links

Videos

founded 2 years ago
MODERATORS
top 11 comments
sorted by: hot top controversial new old
[–] onlinepersona@programming.dev 19 points 4 days ago (1 children)

I want to be optimistic about nix but the main community on discourse is a travesty. It's a more a political arena than a coding forum and actively hampers nix development. Any important decision is either made in isolation (a small group of high up people) or on the forums, and the forums are a mined battlefield. Code and words don't matter, only who wrote or said them.

Nix has had many opportunities to be the basis for something amazing and supported by a large company. Valve could've used nix to have dependency locking. Imagine bazzite, the most gamer friendly distro, being built on nix. That would've propulsed nix at least onto a mountain to visible to many Linux users. But if I were Valve and had a single look at the forums and documentation, I too would've chosen something else.

I'll also just mention nix flakes and its experimental yet widespread use with no official documentation or support. Imagine joining and being told to use flakes then being pointed to blog posts from 2019, example repos, and YouTube videos to start using it. That isn't a good look at all.

Nix has potential but the community squanders it in favor of culture wars, pride, principle, and just anything unrelated to Nix.

[–] wewbull@feddit.uk 6 points 4 days ago (2 children)

Flakes should never have happened the way that they did IMHO. The situation it's left the project in is awful. It's stuck. They can't move forward and accept flakes because they undermine some fundamental things. They can't move backwards and remove them or even make breaking changes because they're in such widespread use.

[–] Piatro@programming.dev 6 points 4 days ago

When I looked into nix a year or two ago I was directed to use flakes by half of the documentation while the other half told me to not to use them since they were experimental. Ended up going back to what I knew, since, you know, installing things was a pretty solved problem.

[–] Ferk@programming.dev 2 points 4 days ago* (last edited 4 days ago) (1 children)

As someone who hasn't touch base with Nix for a long time: what are "flakes"?

[–] rozodru@piefed.social 4 points 4 days ago

flakes, in the most basic terms, is a solution to "well it works on my machine".

So say you develop something within a flake, you can then take that flake and reproduce it 100% on whatever machine you choose. so what ever your building in it if it worked on your machine, it's going to work on all machines.

It's also good for configuring your NixOS. your configs are within the flake and if something happens to your system or you want to replicate your system completely on another machine you can. i.e. you push your nixos config to a git repo and then you can clone it where ever and now you have your complete OS setup somewhere else. Like say if your system borks and you need to reinstall Arch or Ubuntu or whatever it will take awhile to get it set up completely has you had it before. With NixOS and Flakes it's like 10minutes tops to get back to where you were.

[–] solrize@lemmy.ml 5 points 4 days ago (2 children)

As a troglodyte Debian user, this was interesting. Is Guix also viable these days?

[–] rozodru@piefed.social 3 points 4 days ago

Guix is fine. Some people complain about the "speed" of it and some people who want to game say it's a no go. I haven't played around much with it myself so I can't speak on it first hand so YMMV.

[–] dinckelman@programming.dev 2 points 4 days ago (1 children)

Its viability strongly depends on your use case, and how much you're willing to torture yourself with maintaining a Lisp config

[–] Ferk@programming.dev 2 points 4 days ago* (last edited 4 days ago) (1 children)

At least Scheme is a kind of established language that has uses outside of this specific application.

One of the "What's Stopping it" arguments this article makes about Nix is it's "arcane syntax", to the point that the first thing proposed was to replace the Nix language with something more standard.

[–] dinckelman@programming.dev 2 points 4 days ago

No arguments there :\ As much as I love nixos, nix is a horrible language

[–] entwine@programming.dev 3 points 4 days ago

Nix has one great idea and one terrible idea. Until at least the configuration language is redesigned by someone with good taste (and sanity), I'm not touching it. The amount of effort it takes to get back into the nix headspace in order to maintain anything is just not worth it. Docker and Podman are trivial by comparison, and the benefits of Nix do not justify the headaches. I Nix on a personal server for a few months, but migrated back to Podman after I found myself spending way too much time trying to find documentation and make sense of crackhead JSON.

In my work I get to use Conan which kind of implements some of the same ideas as Nix/Guix. It's designed for a different use case, but the benefits are similar and I love using it. It also has a learning curve, but Python is a real programming language at least. Guix may have the right idea too, but my experience with FSF projects is that they choose ideology over practicality every time, so I'm not eager to dive into it.