coq-nix-toolbox
coq-nix-toolbox copied to clipboard
Roadmap
Draft issue of the Nix Toolbox roadmap being discussed at Rocq'n'share.
- Switch to flakes (as a wrapper around the existing)
- Use flake templates for the first step of initializing the Nix Toolbox
- Turn shell hooks into apps (and add them to all devShells from the toolbox)
- Find what to do about
--args bundleand--args jobssince they are not supported by flakes. Do we generate onedevShelland onepackagefor each combination of bundle and package? Maybe with attribute names with slashes in them? - Find how to work with purity of flakes. Maybe an app to pin branches and PRs with revisions and hashes? Or just use npins for that.
- If we switch from the current nixpkgs pinning mechanism to flakes input: We get rid of the
updateNixpkgsfunctions by replacing them by calls tonix flake update, and in the case where we want to temporarily point to another location like for testing nixpkgs PRs in the Nix Toolbox, we donix flake update --override-input nixpkgs 'github:NixOS/nixpkgs?ref=pull/PRNUM/head' nixpkgs.
- Rename the Nix Toolbox / integrate in official Rocq organization.
- Write tutorials / guides for the Rocq website.
- Splitting override mechanism and make it possible to define overlays only once.
- Splitting CI generation.
- Splitting definition of the toolbox and CI for nixpkgs?
- Use a different implementation for turning the configuration into a CI that would not be specific to GitHub?
- Use the Nix Toolbox in the Rocq repo.
- Share the overlay mechanism between the Rocq GitLab CI and the Nix Toolbox.
- Look into using Nix for the Rocq Platform.
- Get a Nix expression for the Platform picks.
- Look into recreating a binary installer for Linux using Nix (maybe AppImage).