Let me try to summarize the current discussion and extract the main points still in discussion:
- Goals (from user perspective):
- SIG repos can be used individually, reducing size and eval time
- top-level still provides what previously ‘Nixpkgs’ was - a one-stop location for all packages
- Goals (from SIG/maintainer perspective):
- reduce maintainer burden
- smaller scoped repos, with less noise
- less moving parts in each SIG repo
- reduce maintainer burden
- technical problems:
- circular dependencies between SIG repos
- proposal: (multi-tiered) top-level repos
- removes circular dependencies, by moving them one level up
- possibly increases top-level maintenance burden
- this might feel like going back to a (quasi) mono-repo though - but one could argue this is inherently the case anyway
- proposal: using follows specifications to lock all other Auxolot dependencies
- this looses the independence property of the SIG repos
- proposal: (multi-tiered) top-level repos
- circular dependencies between SIG repos
(Did I miss something? Certainly not intentionally - I’ll be happy to make amendments here)
As far as I can tell, at no part of the discussion so far these goals were up to debate, so I’ll focus on the technical problem(s).
I come to the same conclusion as @srxl: A top-level approach without cyclical dependencies keeps things simpler without compromising on our goals (re: independence of SIG repos).
(And I also agree: let’s put our current possibility to experiment with stuff to good use, when we need it.)