{ nixosLib, pkgsModule, runCommand }: let sys = nixosLib.evalModules rec { modules = [ pkgsModule ../documentation.nix ../version.nix ({ lib, someArg, ... }: { # Make sure imports from specialArgs are respected imports = [ someArg.myModule ]; # TODO test this meta.doc = ./test-dummy.chapter.xml; }) { _module.args = { baseModules = [ ../documentation.nix ../version.nix ]; extraModules = [ ]; inherit modules; }; documentation.nixos.includeAllModules = true; } ]; specialArgs.someArg.myModule = { lib, ... }: { options.foobar = lib.mkOption { type = lib.types.str; description = "The foobar option was added via specialArgs"; default = "qux"; }; }; }; in runCommand "documentation-check" { inherit (sys.config.system.build.manual) optionsJSON; } '' json="$optionsJSON/share/doc/nixos/options.json" echo checking $json grep 'The foobar option was added via specialArgs' <"$json" >/dev/null touch $out ''