summary refs log tree commit diff
path: root/pkgs/top-level/haskell-packages.nix
diff options
context:
space:
mode:
authorBas van Dijk <v.dijk.bas@gmail.com>2018-04-21 19:37:49 +0200
committerBas van Dijk <v.dijk.bas@gmail.com>2018-04-22 10:34:44 +0200
commitbf6d796a2763f2f58c8e04f9505478d478de0e97 (patch)
tree1c3c510904f55e276f25b09c9d87711c20a4e39d /pkgs/top-level/haskell-packages.nix
parent3d1976b083354c4bf0bce1243d73c607784b807a (diff)
downloadnixlib-bf6d796a2763f2f58c8e04f9505478d478de0e97.tar
nixlib-bf6d796a2763f2f58c8e04f9505478d478de0e97.tar.gz
nixlib-bf6d796a2763f2f58c8e04f9505478d478de0e97.tar.bz2
nixlib-bf6d796a2763f2f58c8e04f9505478d478de0e97.tar.lz
nixlib-bf6d796a2763f2f58c8e04f9505478d478de0e97.tar.xz
nixlib-bf6d796a2763f2f58c8e04f9505478d478de0e97.tar.zst
nixlib-bf6d796a2763f2f58c8e04f9505478d478de0e97.zip
haskell: allow overriding all package sets at once
Setting haskell.packageOverrides like so:

  haskell = super.haskell // {
    packageOverrides = self: super: {
      my-package = ...;
      my-other-package = ...;
    };
  };

causes all compiler-specific package sets to be overridden with those
overrides.
Diffstat (limited to 'pkgs/top-level/haskell-packages.nix')
-rw-r--r--pkgs/top-level/haskell-packages.nix8
1 files changed, 7 insertions, 1 deletions
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index f9cd2eb94337..48980e48f1d4 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -19,7 +19,10 @@ let
     inherit pkgs;
   };
 
-  callPackage = newScope { inherit haskellLib; };
+  callPackage = newScope {
+    inherit haskellLib;
+    overrides = pkgs.haskell.packageOverrides;
+  };
 
   bootstrapPackageSet = self: super: {
     mkDerivation = drv: super.mkDerivation (drv // {
@@ -99,6 +102,9 @@ in rec {
       (name: compiler."${name}".override { enableIntegerSimple = true; }));
   };
 
+  # Default overrides that are applied to all package sets.
+  packageOverrides = self : super : {};
+
   # Always get compilers from `buildPackages`
   packages = let bh = buildPackages.haskell; in {