Multi-nixpkgs workflow #855
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📦 Introduce a multi-nixpkgs workflow (
legacyPkgsandpkgs)Because nixpkgs has removed
python27we can no longer buildnixops(it has also been removed, unfortunately). So until a newnixopscomes onto the scene we must keep around our old nixpkgs for deployment (for now).nix/folder intolegacy/, repurposenix/to usepkgsCross.ghcjslegacyPkgs(ghcjs86,closure-compiler,nixops-1.7)pkgs(ghcjs9122,bun)source.nixto top-level (consumed by all), adjust paths accordinglyghcjs9122)misobuild under CIdeployscript,haskell-miso.organdsseexamples underlegacyPkgsdoHaddocknixcabal.projectto include new js backend dep. overridesghcjs9122ready, drops default test build (rely onts/tests primarily)Using mutliple nixpkgs allows us to safely consume the new JS backend
without breaking the existing
ghcjs86that the project was originally built upon.This opens up the door to use haskell.nix or other nix paradigms (flakes) and packages now that we're on a (much) newer nixpkgs.