about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-10-28 15:48:20 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-10-28 22:45:56 +0100
commitf4a418761b481b15900c78b8086e7be58b0afe4e (patch)
treed162399d2c02754bd2c7697b140a0794ccba8254 /nixos
parentc263b5b284cee4d2b658c6acd2942e367ac3f985 (diff)
downloadnixlib-f4a418761b481b15900c78b8086e7be58b0afe4e.tar
nixlib-f4a418761b481b15900c78b8086e7be58b0afe4e.tar.gz
nixlib-f4a418761b481b15900c78b8086e7be58b0afe4e.tar.bz2
nixlib-f4a418761b481b15900c78b8086e7be58b0afe4e.tar.lz
nixlib-f4a418761b481b15900c78b8086e7be58b0afe4e.tar.xz
nixlib-f4a418761b481b15900c78b8086e7be58b0afe4e.tar.zst
nixlib-f4a418761b481b15900c78b8086e7be58b0afe4e.zip
Check for undeclared options
Diffstat (limited to 'nixos')
-rw-r--r--nixos/lib/eval-config.nix13
-rw-r--r--nixos/modules/services/misc/nixos-manual.nix10
2 files changed, 14 insertions, 9 deletions
diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix
index 119bba78ff13..5d487b91afb2 100644
--- a/nixos/lib/eval-config.nix
+++ b/nixos/lib/eval-config.nix
@@ -7,19 +7,21 @@
 , baseModules ? import ../modules/module-list.nix
 , extraArgs ? {}
 , modules
+, check ? true
 }:
 
 let extraArgs_ = extraArgs; pkgs_ = pkgs; system_ = system; in
 
 rec {
 
-  # These are the NixOS modules that constitute the system configuration.
-  configComponents = modules ++ baseModules;
-
   # Merge the option definitions in all modules, forming the full
-  # system configuration.  It's not checked for undeclared options.
+  # system configuration.
   systemModule =
-    pkgs.lib.evalModules configComponents extraArgs;
+    pkgs.lib.evalModules {
+      modules = modules ++ baseModules;
+      args = extraArgs;
+      inherit check;
+    };
 
   config = systemModule.config;
 
@@ -54,6 +56,7 @@ rec {
           # define nixpkgs.config, so it's pointless to evaluate them.
           baseModules = [ ../modules/misc/nixpkgs.nix ];
           pkgs = import ./nixpkgs.nix { system = system_; config = {}; };
+          check = false;
         }).config.nixpkgs;
       in
       {
diff --git a/nixos/modules/services/misc/nixos-manual.nix b/nixos/modules/services/misc/nixos-manual.nix
index 66d46d9114a5..f67afb747e97 100644
--- a/nixos/modules/services/misc/nixos-manual.nix
+++ b/nixos/modules/services/misc/nixos-manual.nix
@@ -16,13 +16,15 @@ let
       system.nixosRevision = config.system.nixosRevision;
     };
 
+  eval = evalModules {
+    modules = [ versionModule ] ++ baseModules;
+    args = (removeAttrs extraArgs ["config" "options"]) // { modules = [ ]; };
+  };
+
   manual = import ../../../doc/manual {
     inherit pkgs;
     revision = config.system.nixosRevision;
-    options = (evalModules ([ versionModule ] ++ baseModules)
-      (removeAttrs extraArgs ["config" "options"]) // {
-        modules = [ ];
-      }).options;
+    options = eval.options;
   };
 
   entry = "${manual.manual}/share/doc/nixos/manual.html";