summary refs log tree commit diff
path: root/pkgs/lib/modules.nix
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2009-09-14 20:10:41 +0000
committerMichael Raskin <7c6f434c@mail.ru>2009-09-14 20:10:41 +0000
commitb98b622ef0e9ff983ab5b99fe9c7f13d1fa04beb (patch)
treeff45df0505447389d90a31456d1bd0428951c46c /pkgs/lib/modules.nix
parentda09a4e950afea0fb87836bd4b279c3d1fa81d5a (diff)
downloadnixpkgs-b98b622ef0e9ff983ab5b99fe9c7f13d1fa04beb.tar
nixpkgs-b98b622ef0e9ff983ab5b99fe9c7f13d1fa04beb.tar.gz
nixpkgs-b98b622ef0e9ff983ab5b99fe9c7f13d1fa04beb.tar.bz2
nixpkgs-b98b622ef0e9ff983ab5b99fe9c7f13d1fa04beb.tar.lz
nixpkgs-b98b622ef0e9ff983ab5b99fe9c7f13d1fa04beb.tar.xz
nixpkgs-b98b622ef0e9ff983ab5b99fe9c7f13d1fa04beb.tar.zst
nixpkgs-b98b622ef0e9ff983ab5b99fe9c7f13d1fa04beb.zip
Fix NixOS evaluation. As I understand, configuration gets added to the list of modules as an attrSet (not as a file name). Just add a trivial check to passthrough such modules.
svn path=/nixpkgs/trunk/; revision=17116
Diffstat (limited to 'pkgs/lib/modules.nix')
-rw-r--r--pkgs/lib/modules.nix8
1 files changed, 5 insertions, 3 deletions
diff --git a/pkgs/lib/modules.nix b/pkgs/lib/modules.nix
index b7c3062f6a8..7e1d2f9d56f 100644
--- a/pkgs/lib/modules.nix
+++ b/pkgs/lib/modules.nix
@@ -64,8 +64,10 @@ rec {
 
   moduleClosure = initModules: args:
     let
-      moduleImport = m: lib.addErrorContext "Import module ${m}." (
-        (unifyModuleSyntax (applyIfFunction (import m) args)) // {
+      moduleImport = m: lib.addErrorContext 
+        "Import module ${(if builtins.isAttrs m then "{...}" else m)}." (
+        (unifyModuleSyntax (applyIfFunction 
+	  (if builtins.isAttrs m then m else import m) args)) // {
           # used by generic closure to avoid duplicated imports.
           key = m;
           paths = [ m ];
@@ -88,4 +90,4 @@ rec {
         [ m ]
     ) modules;
 
-}
\ No newline at end of file
+}