Add Nix flakes-based build scripts
The current coq-nix-toolbox configuration seems to be broken. So, I devised a flake-based setup that circumvents the coq-nix-toolbox but should provide the same expressiveness. Additionally, I added a small nix-based CI runner, called makes, for convenience. The defaults are set to Coq 8.17 as this seems to be the public main branch. The .nix/default.nix build script is basically a copy from .nix/coq-overlays/metacoq/default.nix. All coq-nix-toolbox-related files could be removed after approval.
cc @sertel
Thanks a lot for looking into it, we sorely miss nix expertise :) Would you mind regtargeting to 8.19 before I merge?
The default package output points to the Coq 8.19 Version, now.
I think this is somewhat superseded by #1167 ? I don't know the exact differences in features between flakes and non-flake setups. @4ever2 @spacefrogg ?
The difference is from the user's side. Flakes are composable, which would make the metarocq git repo usable from other flakes. #1167 is the official way of Rocq to integrate packages for Nix. Its focus is on integration into the official Nixpkgs package set, not development against the metarocq git repo.
So the two approaches are not superseeding each other and are largely incompatible with each other, unfortunately. Feel free to close this PR to reduce the maintenance burden.