NixOS/nixpkgs

39,101 files, 20,678 package directories, full 79-rule pass in 273 ms wall-clock.

Narrative
Polyglot wins
Rules
79
Last revalidated
Engineering reference
README on GitHub · .alint.yml

Why this matters

NixOS/nixpkgs is the largest non-trivial OSS monorepo on GitHub — ~150-180k files at full checkout, ~80,000 package builds across x86_64-linux / aarch64-linux / x86_64-darwin / aarch64-darwin, 20,678 by-name package directories, a 30,841-line maintainer registry. The other 20 case studies in alint’s catalogue all sit below ~80k files; pytorch was the largest at ~80k. nixpkgs is the case where alint’s “any size repo” pitch becomes empirically defensible by measurement rather than assertion.

This is the scale-validation flagship.

Headline catch

At 39,101 files and 20,678 by-name package directories, alint’s full 79-rule structural check pass over the entire sparse tree completes in 273 ms wall-clock.

That’s ~100× faster than nix-build ci -A parse (the fastest existing structural-validation step in nixpkgs CI) and ~300× faster than the treefmt umbrella. The for_each_dir primitive, swept across 20,678 package directories with one file_exists require each, is not visibly the slow part of a hot-cache pass.

Proof — not assertion — that alint scales gracefully to the largest reasonable-shape OSS monorepo without per-repo perf tuning.

Where alint earns its keep here

Future story angles

The factual engineering writeup (tooling inventory, mapping table, gap catalogue, validation status footer) lives in the public alint repo at github.com/asamarts/alint/tree/main/examples/nixos-nixpkgs/README.md.