I apologize for completely unrelated comment in the thread, but could you elaborate on what you mean? This sounds interesting.
Most likely, he’s using something like https://github.com/nmattia/niv or flakes. And selects different packages from different points in time.
No, nothing but mainline Nix/Nixpkgs (it is a pretty old construction, too).
I have some system packages, and then I have a ton of
buildEnvs written, and then also some
buildEnvs are in my
$PATH. And I have a script that is similar to
nix-shell but older and also allows manipulating
$LD_LIBRARY_PATH in addition to
$NIX_CFLAGS etc., so some of the
linkFarms just serve as its cache/index.
Then typically I rebuid all of these from
master, sometimes something doesn’t build (like
ffmpegFull right now) and then the corresponding shard stays behind for some time, and if something breaks too badly I might checkout an older revision and rebuild one shard.
Sometimes I rebuild just one shard I care about, like in the case I try to find out which TeXLive packages I need to add to compile a file my coauthor has edited.
(The shard-building part is online on GitHub)