Building ancient nixpkgs
Nix's reproducibility allows for easy building of ancient nixpkgs checkouts.
An attempt to get firefox 2.0 running can be found here: https://github.com/ronthecookie/nixpkgs/commits/2007-fixing
Replacing outdated nix.cs.uu.nl
You may find that the build fails as it cannot find some tarballs. This is solved by updating the primary mirror URL to one that is still running:
for x in $(find); do sed -i 's/nix.cs.uu.nl/tarballs.nixos.org/g' "$x"; done
for x in $(find); do sed -i 's/dist\/tarballs\///g' "$x"; done
You will also want to run nix-build
with the --no-substitute
flag to avoid any outdated caches.
Replacing outdated package sources
nix-build
may fail while trying to fetch a package from a 3rd-party mirror.
If this happens, you will need to search the internet for another mirror from which you can fetch the package; for certain nixpkgs versions you will need to ensure it does not force-redirect to SSL as curl
was not built with SSL support in early versions.