IHaskell/flake.nix
Matthieu Coudron a39ca44985 nix: expose ihaskellOverlay in flake
flake.nix now:
- expose an overlay to be used by for instance jupyterWith
- disabled tests 'cos failing
- bring haskell-language-server though it seems to choke on codebase
2021-10-22 18:11:51 +02:00

57 lines
1.4 KiB
Nix

{
description = "A Haskell kernel for IPython.";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
hls.url = "github:haskell/haskell-language-server";
flake-compat = {
url = "github:edolstra/flake-compat";
flake = false;
};
};
outputs = { self, hls, nixpkgs, flake-utils, ... }:
flake-utils.lib.eachSystem ["x86_64-linux"] (system: let
compilerVersion = "8107";
pkgs = import nixpkgs {
inherit system;
};
ihaskellEnv = import ./release.nix {
compiler = "ghc${compilerVersion}";
nixpkgs = pkgs;
};
hsPkgs = pkgs.haskell.packages."ghc${compilerVersion}";
myModifier = drv:
pkgs.haskell.lib.addBuildTools drv (with hsPkgs; [
cabal-install
self.inputs.hls.packages."${system}"."haskell-language-server-${compilerVersion}"
]);
in {
packages = {
ihaskell = hsPkgs.developPackage {
root = pkgs.lib.cleanSource ./.;
name = "ihaskell";
returnShellEnv = false;
modifier = pkgs.haskell.lib.dontCheck;
overrides = ihaskellEnv.ihaskellOverlay;
withHoogle = true;
};
ihaskellEnv = ihaskellEnv;
};
defaultPackage = self.packages.${system}.ihaskell;
devShell = (myModifier self.packages.${system}.ihaskell).envFunc {withHoogle=true;};
});
}