diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index 5eaa44106012..ecd62eb4e848 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -38,6 +38,33 @@ let
};
};
+ nixos-lib = import ../../lib { };
+
+ testOptionsDoc = let
+ eval = nixos-lib.evalTest {
+ # Avoid evaluating a NixOS config prototype.
+ config.node.type = lib.types.deferredModule;
+ options._module.args = lib.mkOption { internal = true; };
+ };
+ in buildPackages.nixosOptionsDoc {
+ inherit (eval) options;
+ inherit (revision);
+ transformOptions = opt: opt // {
+ # Clean up declaration sites to not refer to the NixOS source tree.
+ declarations =
+ map
+ (decl:
+ if hasPrefix (toString ../../..) (toString decl)
+ then
+ let subpath = removePrefix "/" (removePrefix (toString ../../..) (toString decl));
+ in { url = "https://github.com/NixOS/nixpkgs/blob/master/${subpath}"; name = subpath; }
+ else decl)
+ opt.declarations;
+ };
+ documentType = "none";
+ variablelistId = "test-options-list";
+ };
+
sources = lib.sourceFilesBySuffices ./. [".xml"];
modulesDoc = builtins.toFile "modules.xml" ''
@@ -52,6 +79,7 @@ let
mkdir $out
ln -s ${modulesDoc} $out/modules.xml
ln -s ${optionsDoc.optionsDocBook} $out/options-db.xml
+ ln -s ${testOptionsDoc.optionsDocBook} $out/test-options-db.xml
printf "%s" "${version}" > $out/version
'';
diff --git a/nixos/doc/manual/development/writing-nixos-tests.section.md b/nixos/doc/manual/development/writing-nixos-tests.section.md
index 1d8c0a2a664a..043da45d517f 100644
--- a/nixos/doc/manual/development/writing-nixos-tests.section.md
+++ b/nixos/doc/manual/development/writing-nixos-tests.section.md
@@ -52,7 +52,6 @@ Tests that are part of NixOS are added to [`nixos/tests/all-tests.nix`](https://
```
Overrides can be added by defining an anonymous module in `all-tests.nix`.
-For the purpose of constructing a test matrix, use the `matrix` options instead.
```nix
hostname = runTest { imports = [ ./hostname.nix ]; defaults.networking.firewall.enable = false; };
@@ -476,3 +475,11 @@ added using the parameter `extraPythonPackages`. For example, you could add
```
In that case, `numpy` is chosen from the generic `python3Packages`.
+
+## Test Options Reference {#sec-test-options-reference}
+
+The following options can be used when writing tests.
+
+```{=docbook}
+
+```
diff --git a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
index 4910f0e863b5..ed6662f637fc 100644
--- a/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
+++ b/nixos/doc/manual/from_md/development/writing-nixos-tests.section.xml
@@ -1,4 +1,4 @@
-
+
Writing Tests
A NixOS test is a module that has the following structure:
@@ -67,9 +67,7 @@
Overrides can be added by defining an anonymous module in
- all-tests.nix. For the purpose of
- constructing a test matrix, use the matrix
- options instead.
+ all-tests.nix.
hostname = runTest { imports = [ ./hostname.nix ]; defaults.networking.firewall.enable = false; };
@@ -770,4 +768,11 @@ def foo_running():
python3Packages.
+
+ Test Options Reference
+
+ The following options can be used when writing tests.
+
+
+