rfcs icon indicating copy to clipboard operation
rfcs copied to clipboard

[RFC 0146] Meta.Categories, not Filesystem Directory Trees

Open AndersonTorres opened this issue 2 years ago • 191 comments

This RFC proposes a new meta.categories attribute in order to categorize Nix packages, instead of using the filesystem dirtree.

Rendered!

AndersonTorres avatar Apr 23 '23 04:04 AndersonTorres

The idea of this RFC was triggered by the RFC #140, by the way.

Ref.: https://github.com/NixOS/rfcs/pull/140#discussion_r1096549803

AndersonTorres avatar Apr 23 '23 04:04 AndersonTorres

One of the advantages of meta.categories, not directly mentioned in the RFC (though could be thought of as a consequence of solving drawback 7) is that users will be able to browse for packages in search.nixos.org (and similar tools based meta) much more easily. Currently the file system hierarchy is only visible for people browsing the nixpkgs repo, while being a hidden implementation detail for all other users.

PetarKirov avatar Apr 23 '23 06:04 PetarKirov

The idea of this RFC was triggered by the RFC https://github.com/NixOS/rfcs/pull/140, by the way.

I'd like to have a section in this RFC discussing its relationship and synergies with RFC 140. Does one of them depend on the other? Or are they completely orthogonal to each other?

piegamesde avatar May 07 '23 19:05 piegamesde

Completely orthogonal.

Certainly if this RFC solves a corner problem of that other #140 (losing the classification), but they have no dependencies. This RFC merely decouples the classification from the filesystem.

AndersonTorres avatar May 07 '23 21:05 AndersonTorres

For initial categorization one could extract categories from current package paths. So for example applications/editors/emacs get meta.categories = [application editor];

suhr avatar May 07 '23 22:05 suhr

For initial categorization one could extract categories from current package paths.

For now I have made a preliminary code‚ copying the Freedesktop.org menu entries. It is already in the PR queue for Nixpkgs acceptance.

AndersonTorres avatar May 09 '23 23:05 AndersonTorres

This RFC is now open for shepherd nominations!

lheckemann avatar May 17 '23 13:05 lheckemann

Mental note: an extra chapter for the ~~boring~~ why we need classification in the first place?

AndersonTorres avatar May 18 '23 11:05 AndersonTorres

Another point of "why this might be interesting" : as release managers, we want to know which mainstream software or high profile software are still working before a branch-off, e.g. gitlab, etc. Having a categorization for those would make this work extremely easier. :)

RaitoBezarius avatar May 21 '23 15:05 RaitoBezarius

mainstream software or high profile software

That sounds in favour of pretty open (or quite multifaceted) category system.

7c6f434c avatar May 22 '23 17:05 7c6f434c

This RFC has not acquired enough shepherds. This typically shows lack of interest from the community. In order to progress a full shepherd team is required. Consider trying to raise interest by posting in Discourse, talking in Matrix or reaching out to people that you know.

If not enough shepherds can be found in the next month we will close this RFC until we can find enough interested participants. The PR can be reopened at any time if more shepherd nominations are made.

See more info on the Nix RFC process here

lheckemann avatar Jun 14 '23 15:06 lheckemann

I felt this was too fast!

AndersonTorres avatar Jun 17 '23 12:06 AndersonTorres

OK, let's try to do something about it… @amjoseph-nixpkgs would you accept nomination?

7c6f434c avatar Jun 17 '23 16:06 7c6f434c

@AndersonTorres BTW, will you be interested in keeping the draft always up-to-discussed-changes (i.e. whenever a remark is discussed and accepted, the decision gets into the draft of the RFC text within a few days save for specific «unavailable» weeks)?

7c6f434c avatar Jun 17 '23 17:06 7c6f434c

Yes, it's OK to me.

AndersonTorres avatar Jun 18 '23 02:06 AndersonTorres

Hmm. I self-nominate as a shepherd.

My current stance: generally in favour, open-ish multi-faceted categorisation, slow-ish take-off in terms of actually marking packages with categories.

Procedural stance: skewed towards semi-synchronous text discussions with a log (and I hope there is no need for too much synchronous discussions here).

7c6f434c avatar Jun 18 '23 06:06 7c6f434c

Also @davidak would you be willing to be a shepherd here?

7c6f434c avatar Jun 18 '23 06:06 7c6f434c

@7c6f434c i don't have the time and energy right now, sorry. Thanks for asking!

I love this RFC! I noticed before that we don't provide a category to Repology and i don't like the chaotic nixpkgs folder structure.

davidak avatar Jun 20 '23 17:06 davidak

Next try… @j-k would you agree to be a shepherd?

7c6f434c avatar Jun 20 '23 17:06 7c6f434c

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/rfc-146-meta-categories-is-open-to-shepherd-nominations/30053/1

nixos-discourse avatar Jul 05 '23 23:07 nixos-discourse

The idea of this RFC was triggered by the RFC #140, by the way.

Ref.: #140 (comment)

Given this, @infinisil might be interested if not too busy. I would also like to nominate @figsoda.

Lord-Valen avatar Jul 20 '23 17:07 Lord-Valen

Currently busy implementing #140, but I'll definitely stay subscribed here and review this at some point :)

infinisil avatar Jul 20 '23 18:07 infinisil

I would also like to nominate @figsoda.

I'm a bit busy at the moment, so I would have to reject the nomination for now

figsoda avatar Jul 20 '23 20:07 figsoda

Hmm. @KFearsoff are you not self-nominating because you want to see how #109 goes? (I promise this one should be easier).

Actually… @natsukium you seem to have quite a bit of experience with a part of Nixpkgs you care about, and also to show some interest for Repology in your PRs — are you interested to be a shepherd? By procedure, shepherds check all the points raised in the discussion, discuss the proposal further as need and come to conclusion «good enough to accept»/«better to reject for now» or ask for improvements before the final decision.

7c6f434c avatar Jul 21 '23 07:07 7c6f434c

It's interesting. Actually, I've been looking at this RFC for a while but have never thought I would be nominated.

I have a little experience with nixpkgs and a little understanding of the RFC process, but I will do my best to lead a worthwhile discussion.

natsukium avatar Jul 21 '23 17:07 natsukium

You can always self-nominate when interested! And the process works better with shepherds paying attention to different things and understanding different perspectives.

True that the path of least resistance in others-nomination starts with the commenters in the RFC discussion in question. But this is first of all about nomination acceptance chances (and sometimes about viewpoint representation because for commenters it is the least work to see who represents which viewpoint).

7c6f434c avatar Jul 22 '23 09:07 7c6f434c

OK, let's try to do something about it… @amjoseph-nixpkgs would you accept nomination?

Sorry, I thought I had replied. I am a huge fan of this RFC, but at the moment I'm struggling to keep my head above water workload-wise, and I'm worried that I wouldn't be a very diligent shepherd right now.

If this RFC is at risk of dying for lack of a shepherd (which I really doubt) ping me again and I will move some mountains. But let's at least take a few more weeks to try to find somebody who can do a better job than I can at this particular moment.

ghost avatar Jul 26 '23 20:07 ghost

Hmmm. @marsam @minijackson maybe one or both of you will accept nomination?

7c6f434c avatar Jul 27 '23 06:07 7c6f434c

@suhr here is the current listing of files inside pkgs directory. It can be useful for filling the categories set, as you suggested.

listagem.txt

AndersonTorres avatar Jul 29 '23 17:07 AndersonTorres

Trying again to nominate @KFearsoff @marsam @minijackson …

7c6f434c avatar Aug 10 '23 08:08 7c6f434c