50 lines
1.1 KiB
Nix
50 lines
1.1 KiB
Nix
|
{ 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
|
||
|
''
|