That is nicely written but we have mostly already implemented that. There’s some critical things like
A new Contributor who makes a correct patch SHALL be invited to become a Maintainer.
which we will not implement as commit access to Nixpkgs is security-critical. Anyone with commit access can push malware to thousands of users. We’re doing good here not handing that out to anyone who contributes a patch.
Most of the nitpicks could be resolved by a linter and auto-formatter.
It’s also quite annoying when a review is just a bunch of character modifications, renames, replacement of entire sections with no comment whatsoever. Or when knowledge is implied.
As a reviewer, you cannot know the reviewee’s experience level. Simply ask and/or Google if you don’t know something. We don’t explain every little thing in detail that we comment on every 5 PRs. Nobody has time for that.
Why isn’t mkDerivation {} or ./. OK
I don’t know the context of the latter but the former is absolutely okay. It’s just a matter of taste really and reviewers are free to express theirs.
Having it on nix.dev as a suggestion, is not the way to do it.
Why? That’s official docs.
What’s even worse is when you get one review like the above, change it, then get another review that again changes something according to undocumented convention, you change it, and another reviewer comes along with yet another such review. I don’t contribute to nixpkgs anymore, in part, for that reason.
That happens sometimes. I’m guilty of that too to a degree. If all you receive are such nitpicks, it’s a good sign that the other aspects of your PR are good to go.
Also note that this isn’t uniform among committers. Most don’t care about nits very much unless you’re doing something clearly out of the ordinary.
Two of the most notorious committers who did this have gotten their wrists slapped recently btw.
why not the rest? What about stdenv? What about fetchers? build-support?
I don’t know how you imagine that to work? There is no generic way to document bespoke code (LLMs don’t count).
How easy or hard is it to get a repo in the nix-community org?
I don’t have much experience with that but the one time I did that I simply walked up to one of the nix-community admins at NixCon and asked them to. I imagine it works roughly the same without being in-person.
Who is allowed to make large changes to nixpkgs e.g review process, CI/CD, package naming, etc?
Anyone.
Small obvious improvements with little to no downsides or room for opinion can just be done and everyone will thank you.
Edit: Looked it up and there was an official wiki at some point it was scrapped because it’s better to have the documentation in the Nixpkgs tree together with the code. In a sense, it still exists in the form of the official manual.
When RFCs can simply be closed as “won’t resolve” or whatever the euphemism is for “no, not on my watch” without community consensus, then I’m not sure what else to call it.
Not sure which one you’re referring to.
There have also been packages requested by a few people, a PR from a newcomer attached and it just never crossing the finish line. A reviewer left a comment, the PR creator made a change and asked if it was fine now, only to hear crickets.
Most of the issues you see can be traced back to limited reviewer capacity.
If the OG nix community won’t change (or won’t do it quickly enough), then that’s the beauty of opensource: the project can be forked.
Forking a project is a click of a button but that still won’t solve anything. All problems mentioned here are problems of the community around the project which we sadly haven’t found a way to clone yet. You’d have a project that is dead in the water because maintaining Nixpkgs is an insane amount of work that requires at least a community as large as the one around Nixpkgs.
tar-like movement of the OG nix community (or the maintainers? dunno)
Note that you’re talking about an entirely different set of people here than the rest of the post.
A member finally had enough and just started another one (nixlang.wiki), which IMO already looks and feels much better than unofficial yet officially linked to nixos.wiki
The main difference is that it runs different (IMHO better) wiki software; wikijs instead of a weird mediawiki fork.
It’s great that they set it up separately but I’d fully expect it to become the regular nixos.wiki at some point with most of the content copied over. I don’t think anyone wants to keep maintaining the old one’s technical aspects now that this exists.
That wiki seems to have come from the official wiki being killed, but then a need for a wiki arising and a nix community member taking it upon themselves to create it
No, it’s because nobody is really maintaining the technical aspect of the current unofficial wiki. The reason they went ahed and set up a new wiki is that it’s easier to start from scratch on a new domain than migrating the old wiki in-place; both from a technical and organisational PoV.
as the (for lack of better term) nix top dogs for whatever reason didn’t recreate it.
There is no such thing. I don’t even know who set the wiki up. It’s probably just some person who did it out of passion, just like nixlang.wiki now.
You seem to be assuming some sort of authority structure where there really is none. For better or for worse, there is no person or group of people who call the shots. That’s not how we work.
Most of the NixOS infra for instance was held together mostly by one person in their free time because nobody else stepped up. They’re in the process of transferring that role to a couple others who did eventually step up as we speak.
It’s similar with a lot of things in the Nix community. The wiki is a good example. The person who set up the new one didn’t want to bother figuring out who in the world maintains the old one and how they could get the new one in place, so they created an entirely new one instead.
there seems to be a resistance to change or at least an inability to take advantage of the good will and energy of the community.
There will always be resistance to change. Not all change is good afterall. In moderation, conservatism is a good thing (actual conservatism that is, not the BS kind in current politics).
I think what you’re feeling is mostly correct but it’s mostly due to lack of time and energy, not because we don’t want to change.
The rate of change also isn’t uniform. Compared to the infra or Nix itself, Nixpkgs changes quite a lot IMHO.