summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2013-06-06 13:59:26 -0400
committerShea Levy <shea@shealevy.com>2013-06-06 14:00:10 -0400
commitd465d6764ab6e11bdd01b2f8bf8bd5cb436e6870 (patch)
tree6c429624f1e176d820ce434fbe9dfa6498c4ffce /pkgs
parentbc409a6e00c5ac691d5e632402fd06bb70a8f24a (diff)
downloadnixpkgs-d465d6764ab6e11bdd01b2f8bf8bd5cb436e6870.tar
nixpkgs-d465d6764ab6e11bdd01b2f8bf8bd5cb436e6870.tar.gz
nixpkgs-d465d6764ab6e11bdd01b2f8bf8bd5cb436e6870.tar.bz2
nixpkgs-d465d6764ab6e11bdd01b2f8bf8bd5cb436e6870.tar.lz
nixpkgs-d465d6764ab6e11bdd01b2f8bf8bd5cb436e6870.tar.xz
nixpkgs-d465d6764ab6e11bdd01b2f8bf8bd5cb436e6870.tar.zst
nixpkgs-d465d6764ab6e11bdd01b2f8bf8bd5cb436e6870.zip
Allow imports in submodules
Signed-off-by: Shea Levy <shea@shealevy.com>
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/lib/modules.nix4
-rw-r--r--pkgs/lib/options.nix7
2 files changed, 3 insertions, 8 deletions
diff --git a/pkgs/lib/modules.nix b/pkgs/lib/modules.nix
index 286178a0fa7..74603e9c579 100644
--- a/pkgs/lib/modules.nix
+++ b/pkgs/lib/modules.nix
@@ -197,9 +197,9 @@ rec {
       recurseInto = name:
         moduleMerge (addName name) (modulesOf name);
 
-      recurseForOption = name: modules:
+      recurseForOption = name: modules: args:
         moduleMerge name (
-          map unifyModuleSyntax modules
+          moduleClosure modules args
         );
 
       errorSource = modules:
diff --git a/pkgs/lib/options.nix b/pkgs/lib/options.nix
index 3a8cc0006ef..d31a501cac9 100644
--- a/pkgs/lib/options.nix
+++ b/pkgs/lib/options.nix
@@ -82,16 +82,11 @@ rec {
       handleOptionSets = opt:
         if opt ? type && opt.type.hasOptions then
           let
-            
-            optionConfig = vals: args:
-              map (f: lib.applyIfFunction f args)
-                (opt.options ++ toList vals);
-
             # Evaluate sub-modules.
             subModuleMerge = path: vals:
               lib.fix (args:
                 let
-                  result = recurseInto path (optionConfig vals args);
+                  result = recurseInto path (opt.options ++ toList vals) args;
                   name = lib.removePrefix (opt.name + ".") path;
                   extraArgs = opt.extraArgs or {};
                   individualExtraArgs = opt.individualExtraArgs or {};