News for hackers. Stuff that matters.
Re:Making a PR to Nixpkgs by coldblues on Tuesday August 02, 2022 @06:54AM (#32317134)
NixOS is the most daunting Linux distribution ever, and all the people I know that use it are extremely smart. You need to develop a really good mental model of how this complicated web of Nix scripts works, to create packages.
Re:Making a PR to Nixpkgs by jrmurray on Tuesday August 02, 2022 @07:26AM (#32317293)
Yea I will agree it's daunting. I've been using nix os for 2 years and this was my first time making a pr back.

I think using nix for personal projects helps build your mental model a lot more. Once you take the time to build a package manually alot of it clicks.

As a user of nixos/nix if you're not building packages it's great. Nixos is quite declarative for most settings. The main issue is just figuring out what options exist...

Re:Making a PR to Nixpkgs by Kaze404 on Tuesday August 02, 2022 @09:20AM (#32318122)
It took me at least a year of using NixOS daily to be comfortable enough to even attempt packaging software. Of course I'm still learning, but once you get past the initial barrier of "what the heck is any of this even doing", it becomes a lot easier and entertaining to find out for yourself.
Re:Making a PR to Nixpkgs by WhyNotHugo on Tuesday August 02, 2022 @09:53AM (#32318476)
I think that is being developed by people who are too smart is the problem. There's no KISS. They're fine with very complicated solution, because they seem easy to them.

We not-so-smart developers tend to go for the simplest solution possible (but usually, no simpler).

Re:Making a PR to Nixpkgs by rgoulter on Tuesday August 02, 2022 @10:19AM (#32318776)
I guess compare to some alternatives:

I believe it's not very weird if someone says "I messed up my Arch Linux installation, and so re-installed from scratch". (Although I don't think it's common for people to re-install all the time).

Or the most ubiquitous way of deploying software from one machine to another is to build a Docker/container image. i.e. to package the built binaries of executables and libraries in such a way that they can be run portably. -- Prob'ly the most common way to build Docker images is to write a Dockerfile, which is more/less a simple sequence commands to run.

I mean.. lots of stuff involving installing/distributing/configuring packages is very hard, and conventional solutions are layers of familiar beat-things-into-shape solutions, where you don't need a deep understanding of what's going on to get things done.

Some of the implementation in Nixpkgs is complicated (like lazy fixpoint stuff), but I've also seen e.g. developers not like Nix because they don't like the idea of learning the Nix language.

Re:Making a PR to Nixpkgs by kaba0 on Tuesday August 02, 2022 @12:28PM (#32320810)
The reason it is sort of complex is simply the fact that the problem domain is complex. I don’t think there is a big deal of accidental complexity around nix, it is mostly just essential, which can’t be reduced.

The same is true of the often bashed systemd - system boot is a hard problem, it gives a correct solution over incomplete but simple ones, and thus it will be more complex. But some complexity is inherent, so we just have to deal with that. (Rust could be another example - correct manual memory management necessities some added complexity )