diff options
Diffstat (limited to 'shell.nix')
-rw-r--r-- | shell.nix | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/shell.nix b/shell.nix new file mode 100644 index 0000000..f1d55b5 --- /dev/null +++ b/shell.nix | |||
@@ -0,0 +1,41 @@ | |||
1 | let | ||
2 | sources = import ./nix/sources.nix; | ||
3 | pkgs = import sources.nixpkgs {}; | ||
4 | |||
5 | inherit (pkgs) haskellPackages; | ||
6 | all-hls = pkgs.fetchFromGitHub { | ||
7 | owner = "masaeedu"; | ||
8 | repo = "all-hls"; | ||
9 | rev = "155e57d7ca9f79ce293360f98895e9bd68d12355"; | ||
10 | sha256 = "04s3mrxjdr7gmd901l1z23qglqmn8i39v7sdf2fv4zbv6hz24ydb"; | ||
11 | }; | ||
12 | |||
13 | hls = import all-hls { | ||
14 | platform = "Linux"; | ||
15 | version = "0.4.0"; | ||
16 | ghc = "8.6.5"; | ||
17 | }; # All parameters are optional. The default values are shown here. | ||
18 | |||
19 | |||
20 | haskellDeps = ps: with ps; [ | ||
21 | base | ||
22 | lens | ||
23 | parsec | ||
24 | mtl | ||
25 | ]; | ||
26 | |||
27 | ghc = haskellPackages.ghcWithPackages haskellDeps; | ||
28 | |||
29 | externalPackages = [ | ||
30 | ghc | ||
31 | pkgs.gdb | ||
32 | pkgs.cabal2nix | ||
33 | haskellPackages.cabal-install | ||
34 | haskellPackages.hoogle | ||
35 | haskellPackages.hlint | ||
36 | ]; | ||
37 | in | ||
38 | pkgs.stdenv.mkDerivation { | ||
39 | name = "aoc"; | ||
40 | buildInputs = externalPackages ++ [ hls ]; | ||
41 | } | ||