summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/default.nix
diff options
context:
space:
mode:
authorJacob Mitchell <jacob.mitchell@iohk.io>2017-05-30 11:27:32 -0700
committerJacob Mitchell <jacob.mitchell@iohk.io>2017-05-30 11:27:32 -0700
commited6ecacf6430e4331b2b56a4324c2e6d349bd30b (patch)
tree16a10bb2fbbd212a9680e9ff3f12fffc6a462028 /pkgs/development/haskell-modules/default.nix
parent77e6529953f0846f892fe9a393e12272fa9ead90 (diff)
downloadnixlib-ed6ecacf6430e4331b2b56a4324c2e6d349bd30b.tar
nixlib-ed6ecacf6430e4331b2b56a4324c2e6d349bd30b.tar.gz
nixlib-ed6ecacf6430e4331b2b56a4324c2e6d349bd30b.tar.bz2
nixlib-ed6ecacf6430e4331b2b56a4324c2e6d349bd30b.tar.lz
nixlib-ed6ecacf6430e4331b2b56a4324c2e6d349bd30b.tar.xz
nixlib-ed6ecacf6430e4331b2b56a4324c2e6d349bd30b.tar.zst
nixlib-ed6ecacf6430e4331b2b56a4324c2e6d349bd30b.zip
haskell-modules: refactor package set
This change is effectively a no-op to nixpkgs. However, it gives users
the flexibility to create and maintain their own package sets per
project, while benefiting from nix's Haskell configurations.

I would make immediate use of this change in stack2nix, a project that
generates nix expressions for all the dependencies of a given Haskell
project. @domenkozar is familiar with the motivations and helped
refine this change
Diffstat (limited to 'pkgs/development/haskell-modules/default.nix')
-rw-r--r--pkgs/development/haskell-modules/default.nix3
1 files changed, 2 insertions, 1 deletions
diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix
index 8090732ddee6..8e7d19e089fd 100644
--- a/pkgs/development/haskell-modules/default.nix
+++ b/pkgs/development/haskell-modules/default.nix
@@ -2,6 +2,7 @@
 , compilerConfig ? (self: super: {})
 , packageSetConfig ? (self: super: {})
 , overrides ? (self: super: {})
+, initialPackages ? import ./hackage-packages.nix
 }:
 
 let
@@ -10,7 +11,7 @@ let
   inherit (import ./lib.nix { inherit pkgs; }) overrideCabal makePackageSet;
 
   haskellPackages = makePackageSet {
-    package-set = import ./hackage-packages.nix;
+    package-set = initialPackages;
     inherit ghc;
   };