Unrelated but curious, why do people say that nixpkgs is the largest package repo? Debian unstable has over 200k packages.
They say that because https://repology.org/repositories/statistics/total says so. Debian unstable has 38k packages according to that page.
Then that site is completely wrong. I’m not even sure where the 38k number comes from.
If you go to https://packages.debian.org/stable/, at the bottom of each branch page (selectable from the top list) is a link to a txt list of all packages for that branch.
If you run a quick wc -l
through them you get 234k packages for sid (unstable), 130k for testing and 121k for bookworm (stable).
The wierd thing is that’s also what repology links to, but I don’t understand what they parse to arrive at that number.
I don’t know exactly how Repology works, but I was interested as well.
This holds what sources are being used for repology in Debian: https://github.com/repology/repology-updater/blob/master/repos.d/deb/debian.yaml This repository seems to be used to merge/split package names: https://github.com/repology/repology-rules
The packages of Debian are split into different subpackages (dev, lib, doc and its base). This happens for Nix as well, but packages there just have different outputs. For instance, openssl has as outputs: bin debug dev doc man out. I don’t think repology counts those outputs, so it shouldn’t count subpackages as well. I guess these rules are merging these together: https://github.com/repology/repology-rules/blob/master/800.renames-and-merges/openssl.yaml.
The numbers are different because the site doesn’t naively count every line but merges some as a single package. For example, at the very top of the Debian list we have 0ad, 0ad-data, 0ad-data-common. These are all counted as one single “package.”
One might argue that doing the comparison in that way is more useful to an average user asking “which distribution has more software available.”
It’s based on the stats found here. https://repology.org/repositories/statistics/total