Hash2Pub/default.nix

45 lines
1.2 KiB
Nix

{
compiler ? "ghc865",
withHIE ? false
}:
let
# pin all-hies for getting the language server
all-hies = fetchTarball {
url = "https://github.com/infinisil/all-hies/tarball/b8fb659620b99b4a393922abaa03a1695e2ca64d";
sha256 = "sha256:0br6wsqpfk1lzz90f7zw439w1ir2p54268qilw9l2pk6yz7ganfx";
};
pkgs = import (
builtins.fetchGit {
name = "nixpkgs-pinned";
url = https://github.com/NixOS/nixpkgs/;
ref = "refs/heads/release-20.03";
rev = "faf5bdea5d9f0f9de26deaa7e864cdcd3b15b4e8";
}) {
# Pass no config for purity
config = {};
overlays = if withHIE then [
(import all-hies {}).overlay
] else [];
};
hp = pkgs.haskell.packages."${compiler}";
src = pkgs.nix-gitignore.gitignoreSource [] ./.;
drv = hp.callCabal2nix "Hash2Pub" "${src}/Hash2Pub.cabal" {};
in
{
my_project = drv;
shell = hp.shellFor {
withHoogle = true;
packages = p: [ drv ];
buildInputs = with hp;
[
haddock
cabal-install
hlint
stylish-haskell
pkgs.python3Packages.asn1ate
]
++ (if withHIE then [ hie ] else []);
};
}