diff options
Diffstat (limited to 'shell.nix')
-rw-r--r-- | shell.nix | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/shell.nix b/shell.nix new file mode 100644 index 000000000000..aefc492d3d44 --- /dev/null +++ b/shell.nix @@ -0,0 +1,28 @@ +{ nixpkgs ? import <nixpkgs> {}, compiler ? "ghc865", withHoogle ? true }: +let + inherit (nixpkgs) pkgs; + + xan = import ./xanthous.nix; + + packageSet = ( + if compiler == "default" + then pkgs.haskellPackages + else pkgs.haskell.packages.${compiler} + ); + + haskellPackages = ( + if withHoogle + then packageSet.override { + overrides = (self: super: { + ghc = super.ghc // { withPackages = super.ghc.withHoogle; }; + ghcWithPackages = self.ghc.withPackages; + }); + } + else packageSet + ); + + drv = haskellPackages.callPackage xan {}; + + inherit (pkgs.haskell.lib) addBuildTools; +in +(addBuildTools drv (with haskellPackages; [ cabal-install ])).env |