diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index b552986f526b..bdede559d1df 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -64,6 +64,7 @@ let eval = nixos-lib.evalTest { # Avoid evaluating a NixOS config prototype. config.node.type = types.deferredModule; + config.hostPkgs = pkgs; options._module.args = mkOption { internal = true; }; }; in diff --git a/nixos/doc/manual/redirects.json b/nixos/doc/manual/redirects.json index 43de7ee3011d..7bf88472148e 100644 --- a/nixos/doc/manual/redirects.json +++ b/nixos/doc/manual/redirects.json @@ -211,6 +211,9 @@ "test-opt-nodeDefaults": [ "index.html#test-opt-nodeDefaults" ], + "test-opt-pythonTestDriverPackage": [ + "index.html#test-opt-pythonTestDriverPackage" + ], "test-opt-rawTestDerivationArg": [ "index.html#test-opt-rawTestDerivationArg" ], diff --git a/nixos/lib/testing/driver.nix b/nixos/lib/testing/driver.nix index 63ad51147743..5cd7c2ebb806 100644 --- a/nixos/lib/testing/driver.nix +++ b/nixos/lib/testing/driver.nix @@ -9,15 +9,10 @@ let # Reifies and correctly wraps the python test driver for # the respective qemu version and with or without ocr support - testDriver = hostPkgs.python3Packages.callPackage ../test-driver { + testDriver = config.pythonTestDriverPackage.override { inherit (config) enableOCR extraPythonPackages; qemu_pkg = config.qemu.package; - imagemagick_light = hostPkgs.imagemagick_light.override { inherit (hostPkgs) libtiff; }; - tesseract4 = hostPkgs.tesseract4.override { enableLanguages = [ "eng" ]; }; - enableNspawn = config.containers != { }; - # We want `pkgs.systemd`, *not* `python3Packages.system`. - systemd = hostPkgs.systemd; }; vlans = map ( @@ -135,6 +130,12 @@ let in { options = { + pythonTestDriverPackage = mkOption { + description = "Package containing the python NixOS test driver implemetnation"; + type = types.package; + default = hostPkgs.nixos-test-driver; + readOnly = true; + }; driver = mkOption { description = "Package containing a script that runs the test."; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 13bbd539c786..f1c2f437c098 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -146,6 +146,14 @@ with pkgs; inherit (nix-update) nix-update-script; + nixos-test-driver = pkgs.python3Packages.callPackage ../../nixos/lib/test-driver { + qemu_pkg = pkgs.qemu; + imagemagick_light = pkgs.imagemagick_light.override { inherit (pkgs) libtiff; }; + tesseract4 = pkgs.tesseract4.override { enableLanguages = [ "eng" ]; }; + # We want `pkgs.systemd`, *not* `python3Packages.system`. + systemd = pkgs.systemd; + }; + ### Push NixOS tests inside the fixed point # See also allTestsForSystem in nixos/release.nix