blob: 432d3a0437c0d736a6f40fa6d8977622dbf304ee (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
{
nixConfig = {
extra-trusted-public-keys = ["hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="];
extra-substituters = ["https://cache.iog.io"];
};
description = "Probabilistic Programming Language";
inputs.haskellNix.url = "github:input-output-hk/haskell.nix";
inputs.nixpkgs.follows = "haskellNix/nixpkgs-unstable";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = {
self,
nixpkgs,
flake-utils,
haskellNix,
}:
flake-utils.lib.eachSystem ["x86_64-linux"] (system: let
overlays = [
haskellNix.overlay
(final: prev: {
ppl = final.haskell-nix.project' {
src = ./.;
compiler-nix-name = "ghc925";
shell.tools = {
hlint = {};
ormolu = {};
haskell-language-server = {};
};
shell.buildInputs = [
(pkgs.writeScriptBin "haskell-language-server-wrapper" ''
#!${pkgs.stdenv.shell}
exec haskell-language-server "$@"
'')
];
};
})
];
pkgs = import nixpkgs {
inherit system overlays;
inherit (haskellNix) config;
};
flake = pkgs.ppl.flake {};
in
flake // { packages.default = flake.packages."ppl:lib:ppl";});
}
|