diff --git a/default.nix b/default.nix index eea5386..4e77a05 100644 --- a/default.nix +++ b/default.nix @@ -1,14 +1,27 @@ -{ pkgs ? import ( - builtins.fetchGit { - name = "nixpkgs-pinned"; - url = https://github.com/NixOS/nixpkgs/; - ref = "refs/heads/release-20.03"; - rev = "da7ddd822e32aeebea00e97ab5aeca9758250a40"; - }) {}, - compiler ? "ghc865" +{ + 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 = "076c67fdea6d0529a568c7d0e0a72e6bc161ecf5"; + }) { + # Pass no config for purity + config = {}; + overlays = [ + (import all-hies {}).overlay + ]; + }; hp = pkgs.haskell.packages."${compiler}"; src = pkgs.nix-gitignore.gitignoreSource [] ./.; drv = hp.callCabal2nix "Hash2Pub" "${src}/Hash2Pub.cabal" {}; @@ -25,6 +38,7 @@ in hlint stylish-haskell pkgs.python3Packages.asn1ate - ]; + ] + ++ (if withHIE then [ hie ] else []); }; } diff --git a/shell.nix b/shell.nix index 82fb296..dafd212 100644 --- a/shell.nix +++ b/shell.nix @@ -1 +1 @@ -(import ./default.nix {}).shell +(import ./default.nix {withHIE = true;}).shell