summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/default.nix
diff options
context:
space:
mode:
authorJan Malakhovski <oxij@oxij.org>2015-08-17 19:45:13 +0000
committerJan Malakhovski <oxij@oxij.org>2015-08-18 19:56:16 +0000
commitd8487667cfe3f83f857b45d4927a19d9181b7f4c (patch)
treec6e652a76e477b4a208c45dc3ce03481684cdb1e /pkgs/development/haskell-modules/default.nix
parent0ccf8eae2fde05fe196c39f0c7b7b70af8752a28 (diff)
downloadnixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.tar
nixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.tar.gz
nixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.tar.bz2
nixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.tar.lz
nixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.tar.xz
nixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.tar.zst
nixpkgs-d8487667cfe3f83f857b45d4927a19d9181b7f4c.zip
haskell-packages: bring hoogle to the masses by imlementing ghcWithHoogle
Replace `ghcWithPackages` to `ghcWithHoogle` in your config and enjoy.
Diffstat (limited to 'pkgs/development/haskell-modules/default.nix')
-rw-r--r--pkgs/development/haskell-modules/default.nix23
1 files changed, 17 insertions, 6 deletions
diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix
index ab3ac6930b9..7e6f1c0552d 100644
--- a/pkgs/development/haskell-modules/default.nix
+++ b/pkgs/development/haskell-modules/default.nix
@@ -47,18 +47,29 @@ let
       defaultScope = mkScope self;
       callPackage = drv: args: callPackageWithScope defaultScope drv args;
 
+      withPackages = packages: callPackage ./with-packages-wrapper.nix {
+        inherit (self) llvmPackages;
+        haskellPackages = self;
+        inherit packages;
+      };
+
     in
       import ./hackage-packages.nix { inherit pkgs stdenv callPackage; } self // {
 
         inherit mkDerivation callPackage;
 
-        ghcWithPackages = pkgs: callPackage ./with-packages-wrapper.nix {
-          inherit (self) llvmPackages;
-          haskellPackages = self;
-          packages = pkgs self;
-        };
+        ghcWithPackages = selectFrom: withPackages (selectFrom self);
 
-        ghc = ghc // { withPackages = self.ghcWithPackages; };
+        ghcWithHoogle = selectFrom:
+          let
+            packages = selectFrom self;
+            hoogle = callPackage ./hoogle.nix { inherit packages; };
+          in withPackages (packages ++ [ hoogle ]);
+
+        ghc = ghc // {
+          withPackages = self.ghcWithPackages;
+          withHoogle = self.ghcWithHoogle;
+        };
 
       };