|
|
|
|
|
by aseipp
2438 days ago
|
|
There are significant advantages to having the entire Nixpkgs package set in a mono repository. While I think Flakes are quite interesting for a number of reasons, I hope it doesn't result in the primary package set getting split up too much. They conceptually act a lot like Git submodules, and going overboard with that is a very easy way to make your life miserable, and significantly increase development turnaround for changes that "cross" package sets. A group of packages just being "conceptually related" isn't a high enough bar to move things out. As a long time contributor, I'd much, much rather see our bug reporting, triage, and discovery/resolution strategies improve first -- long before going as far as splitting up the mono-repository. That's the part that's frustrating for users (their reports get lost, forgotten, duplicated) -- not the fact the default set merely has a lot of packages. |
|
Yes there is many advantages to nixpkgs being a single repo. In fact, it is one of the main strength of Nix.
It gives you all the advantages of corporate style source monorepo without the inconvenience.
Out of order:
- It avoids the multi-version diamond dependency problem and the necessity of a SAT solver.
- It allows transactional upgrade of multiple packages.
- The detection of any break / problem of an update for any software depending on it automatically.
- A consistent view on the entire dependency tree at each instant. With possibility of rollbacks.