summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/modules.nix12
-rw-r--r--nixos/lib/eval-config.nix3
-rw-r--r--nixos/modules/misc/check-config.nix15
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/rename.nix2
5 files changed, 14 insertions, 19 deletions
diff --git a/lib/modules.nix b/lib/modules.nix
index 84ca209d367..1d7c7b22765 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -25,6 +25,16 @@ rec {
 
             internal = true;
           };
+
+          __internal.check = mkOption {
+            description = "Whether to check whether all option definitions have matching declarations.";
+
+            type = types.uniq types.bool;
+
+            internal = true;
+
+            default = check;
+          };
         };
 
         config = {
@@ -45,7 +55,7 @@ rec {
           if isOption v then v.value
           else yieldConfig (prefix ++ [n]) v) set) ["_definedNames"];
         in
-        if check && set ? _definedNames then
+        if options.__internal.check.value && set ? _definedNames then
           fold (m: res:
             fold (name: res:
               if set ? ${name} then res else throw "The option `${showOption (prefix ++ [name])}' defined in `${m.file}' does not exist.")
diff --git a/nixos/lib/eval-config.nix b/nixos/lib/eval-config.nix
index 460f5601ae7..4ee1c61f54f 100644
--- a/nixos/lib/eval-config.nix
+++ b/nixos/lib/eval-config.nix
@@ -31,10 +31,9 @@ in rec {
   # Merge the option definitions in all modules, forming the full
   # system configuration.
   inherit (lib.evalModules {
-    inherit prefix;
+    inherit prefix check;
     modules = modules ++ extraModules ++ baseModules ++ [ pkgsModule ];
     args = extraArgs;
-    check = check && options.environment.checkConfigurationOptions.value;
   }) config options;
 
   # These are the extra arguments passed to every module.  In
diff --git a/nixos/modules/misc/check-config.nix b/nixos/modules/misc/check-config.nix
deleted file mode 100644
index e9803de2196..00000000000
--- a/nixos/modules/misc/check-config.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ lib, ... }:
-
-with lib;
-
-{
-  options = {
-    environment.checkConfigurationOptions = mkOption {
-      type = types.bool;
-      default = true;
-      description = ''
-        Whether to check the validity of the entire configuration.
-      '';
-    };
-  };
-}
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 23809796878..95337168d10 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -43,7 +43,6 @@
   ./installer/tools/nixos-checkout.nix
   ./installer/tools/tools.nix
   ./misc/assertions.nix
-  ./misc/check-config.nix
   ./misc/crashdump.nix
   ./misc/ids.nix
   ./misc/lib.nix
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index e820b2cb9ce..b898dc23522 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -136,6 +136,8 @@ in zipModules ([]
 
 ++ obsolete [ "services" "mysql55" ] [ "services" "mysql" ]
 
+++ obsolete [ "environment" "checkConfigurationOptions" ] [ "__internal" "check" ]
+
 # Options that are obsolete and have no replacement.
 ++ obsolete' [ "boot" "loader" "grub" "bootDevice" ]
 ++ obsolete' [ "boot" "initrd" "luks" "enable" ]