@@ -1,6 +1,7 @@
11{
22 inputs = {
33 nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
4+ nixpkgs-ghc88.url = "github:nixos/nixpkgs/76f2e271a2ef";
45 flake-parts.url = "github:hercules-ci/flake-parts";
56 };
67 outputs = inputs@{ nixpkgs, flake-parts, ... }:
@@ -11,17 +12,22 @@
1112 overlay = self: super: {
1213 jrec = self.callCabal2nix "jrec" ./. { };
1314 };
14− haskellPackages' = pkgs.haskellPackages.extend overlay;
15+ ghcVersions = {
16+ ghc88 = inputs.nixpkgs-ghc88.legacyPackages.${system}.haskellPackages.extend overlay;
17+ ghc92 = pkgs.haskellPackages.extend overlay;
18+ };
1519 in
1620 {
17− packages.default = haskellPackages'.jrec;
18− devShells.default = haskellPackages'.shellFor {
21+ packages.default = ghcVersions.ghc92.jrec;
22+ devShells.default = ghcVersions.ghc92.shellFor {
1923 packages = p: [ p.jrec ];
20− buildInputs = with haskellPackages'; [
24+ buildInputs = with ghcVersions.ghc92; [
2125 cabal-install
2226 haskell-language-server
2327 ];
2428 };
29+ # Expose jrec built with GHC 8.8 so it can be tested in CI.
30+ packages.jrec-ghc88 = ghcVersions.ghc88.jrec;
2531 };
2632 };
2733}