diff options
Diffstat (limited to 'shell.nix')
-rw-r--r-- | shell.nix | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..b1a597f --- /dev/null +++ b/shell.nix | |||
@@ -0,0 +1,40 @@ | |||
1 | let | ||
2 | |||
3 | all-hies = fetchTarball { | ||
4 | url = "https://github.com/infinisil/all-hies/tarball/534ac517b386821b787d1edbd855b9966d0c0775"; | ||
5 | sha256 = "0bw1llpwxbh1dnrnbxkj2l0j58s523hjivszf827c3az5i4py1i2"; | ||
6 | }; | ||
7 | |||
8 | pkgs = import <nixpkgs> { | ||
9 | # Pass no config for purity | ||
10 | config = {}; | ||
11 | overlays = [ | ||
12 | (import all-hies {}).overlay | ||
13 | ]; | ||
14 | }; | ||
15 | |||
16 | inherit (pkgs) haskellPackages; | ||
17 | |||
18 | haskellDeps = ps: with ps; [ | ||
19 | base | ||
20 | lens | ||
21 | parsec | ||
22 | mtl | ||
23 | readline | ||
24 | ]; | ||
25 | |||
26 | ghc = haskellPackages.ghcWithPackages haskellDeps; | ||
27 | |||
28 | externalPackages = [ | ||
29 | ghc | ||
30 | pkgs.gdb | ||
31 | pkgs.cabal2nix | ||
32 | haskellPackages.cabal-install | ||
33 | haskellPackages.hie | ||
34 | haskellPackages.hoogle | ||
35 | ]; | ||
36 | in | ||
37 | pkgs.stdenv.mkDerivation { | ||
38 | name = "env"; | ||
39 | buildInputs = externalPackages; | ||
40 | } | ||