diff options
author | Robert Hensing <robert@roberthensing.nl> | 2023-04-10 17:55:34 +0200 |
---|---|---|
committer | Robert Hensing <robert@roberthensing.nl> | 2023-05-06 18:29:04 +0200 |
commit | 79703eef083d70046873dbb86f08e2ff08f58197 (patch) | |
tree | 262d6370ef51132a9c08fa71d4ce1dba71b6a770 /nixos/lib | |
parent | 84b1b017026bb1d0a37a8d3ef553f073225b4e8d (diff) | |
download | nixlib-79703eef083d70046873dbb86f08e2ff08f58197.tar nixlib-79703eef083d70046873dbb86f08e2ff08f58197.tar.gz nixlib-79703eef083d70046873dbb86f08e2ff08f58197.tar.bz2 nixlib-79703eef083d70046873dbb86f08e2ff08f58197.tar.lz nixlib-79703eef083d70046873dbb86f08e2ff08f58197.tar.xz nixlib-79703eef083d70046873dbb86f08e2ff08f58197.tar.zst nixlib-79703eef083d70046873dbb86f08e2ff08f58197.zip |
nixos,nixpkgs: Add module classes
This allows modules that declare their class to be checked. While that's not most user modules, frameworks can take advantage of this by setting declaring the module class for their users. That way, the mistake of importing a module into the wrong hierarchy can be reported more clearly in some cases.
Diffstat (limited to 'nixos/lib')
-rw-r--r-- | nixos/lib/eval-cacheable-options.nix | 1 | ||||
-rw-r--r-- | nixos/lib/eval-config-minimal.nix | 4 | ||||
-rw-r--r-- | nixos/lib/testing/default.nix | 5 |
3 files changed, 8 insertions, 2 deletions
diff --git a/nixos/lib/eval-cacheable-options.nix b/nixos/lib/eval-cacheable-options.nix index c3ba2ce66375..d26967ebe09b 100644 --- a/nixos/lib/eval-cacheable-options.nix +++ b/nixos/lib/eval-cacheable-options.nix @@ -33,6 +33,7 @@ let ]; specialArgs = { inherit config pkgs utils; + class = "nixos"; }; }; docs = import "${nixosPath}/doc/manual" { diff --git a/nixos/lib/eval-config-minimal.nix b/nixos/lib/eval-config-minimal.nix index d45b9ffd4261..7e28f4305127 100644 --- a/nixos/lib/eval-config-minimal.nix +++ b/nixos/lib/eval-config-minimal.nix @@ -40,7 +40,9 @@ let inherit prefix modules; specialArgs = { modulesPath = builtins.toString ../modules; - } // specialArgs; + } // specialArgs // { + class = "nixos"; + }; }; in diff --git a/nixos/lib/testing/default.nix b/nixos/lib/testing/default.nix index 9d4f9dbc43d7..1bd6278ce684 100644 --- a/nixos/lib/testing/default.nix +++ b/nixos/lib/testing/default.nix @@ -1,7 +1,10 @@ { lib }: let - evalTest = module: lib.evalModules { modules = testModules ++ [ module ]; }; + evalTest = module: lib.evalModules { + modules = testModules ++ [ module ]; + specialArgs.class = "nixosTest"; + }; runTest = module: (evalTest ({ config, ... }: { imports = [ module ]; result = config.test; })).config.result; testModules = [ |