diff options
author | Nicolas Pierron <nicolas.b.pierron@gmail.com> | 2009-10-09 23:03:24 +0000 |
---|---|---|
committer | Nicolas Pierron <nicolas.b.pierron@gmail.com> | 2009-10-09 23:03:24 +0000 |
commit | 926f20a1eecab8e40e669018819c43503ff4e4c0 (patch) | |
tree | 8e66904f467ddece46d414c80ef372acdaf96df7 /pkgs/lib/modules.nix | |
parent | 037a777b7d29d7c748b3cb3746ad67f31763e339 (diff) | |
download | nixpkgs-926f20a1eecab8e40e669018819c43503ff4e4c0.tar nixpkgs-926f20a1eecab8e40e669018819c43503ff4e4c0.tar.gz nixpkgs-926f20a1eecab8e40e669018819c43503ff4e4c0.tar.bz2 nixpkgs-926f20a1eecab8e40e669018819c43503ff4e4c0.tar.lz nixpkgs-926f20a1eecab8e40e669018819c43503ff4e4c0.tar.xz nixpkgs-926f20a1eecab8e40e669018819c43503ff4e4c0.tar.zst nixpkgs-926f20a1eecab8e40e669018819c43503ff4e4c0.zip |
Revert "* Revert the last two commits ..." (rev 17738) & Fix.
svn path=/nixpkgs/trunk/; revision=17740
Diffstat (limited to 'pkgs/lib/modules.nix')
-rw-r--r-- | pkgs/lib/modules.nix | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/pkgs/lib/modules.nix b/pkgs/lib/modules.nix index aeabf640cc2..6626812076e 100644 --- a/pkgs/lib/modules.nix +++ b/pkgs/lib/modules.nix @@ -113,9 +113,17 @@ rec { value ) module; + delayModule = module: moduleApply { config = delayProperties; } module; + evalDefinitions = opt: values: + if opt ? type && opt.type.delayProperties then + map (delayPropertiesWithIter opt.type.iter opt.name) values + else + evalProperties values; + + selectModule = name: m: { inherit (m) key; } // ( @@ -243,7 +251,7 @@ rec { opt.extraConfigs; in if hasOpt && isOption opt then - let defs = evalProperties values; in + let defs = evalDefinitions opt values; in lib.addErrorContext "${eol }while evaluating the option '${addName name}'.${eol }${errorSource (modulesOf name)}${eol |