34 lines
		
	
	
	
		
			1,004 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
	
		
			1,004 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ nixpkgs ? import ./nixpkgs.nix {}, compiler ? "ghc865", withHoogle ? true }:
 | 
						|
let
 | 
						|
  inherit (nixpkgs) pkgs;
 | 
						|
 | 
						|
  pkg = import ./pkg.nix { inherit nixpkgs; };
 | 
						|
 | 
						|
  packageSet = (
 | 
						|
    if compiler == "default"
 | 
						|
    then pkgs.haskellPackages
 | 
						|
    else pkgs.haskell.packages.${compiler}
 | 
						|
  ).override {
 | 
						|
    overrides = import ./haskell-overlay.nix { inherit nixpkgs; };
 | 
						|
  };
 | 
						|
 | 
						|
  haskellPackages = (
 | 
						|
    if withHoogle
 | 
						|
    then packageSet.override {
 | 
						|
      overrides = (self: super: {
 | 
						|
        ghc = super.ghc // { withPackages = super.ghc.withHoogle; };
 | 
						|
        ghcWithPackages = self.ghc.withPackages;
 | 
						|
        # eww https://github.com/NixOS/nixpkgs/issues/16394
 | 
						|
        generic-arbitrary = pkgs.haskell.lib.appendPatch
 | 
						|
          super.generic-arbitrary
 | 
						|
          [ ./build/generic-arbitrary-export-garbitrary.patch ];
 | 
						|
      });
 | 
						|
    }
 | 
						|
    else packageSet
 | 
						|
  );
 | 
						|
 | 
						|
  drv = haskellPackages.callPackage pkg {};
 | 
						|
 | 
						|
  inherit (pkgs.haskell.lib) addBuildTools;
 | 
						|
in
 | 
						|
(addBuildTools drv (with haskellPackages; [ cabal-install ])).env
 |