6 maintainer = mkOptionType {
8 check = email: elem email (attrValues lib.maintainers);
9 merge = loc: defs: listToAttrs (singleton (nameValuePair (last defs).file (last defs).value));
12 listOfMaintainers = types.listOf maintainer // {
15 # "maintainer1 <first@nixos.org>"
16 # "maintainer2 <second@nixos.org>" ];
20 (flatten (imap1 (n: def: imap1 (m: def':
21 maintainer.merge (loc ++ ["[${toString n}-${toString m}]"])
22 [{ inherit (def) file; value = def'; }]) def.value) defs));
25 docFile = types.path // {
27 # { file = "module location"; value = <path/to/doc.xml>; }
28 merge = loc: defs: defs;
36 maintainers = mkOption {
37 type = listOfMaintainers;
40 example = literalExpression ''[ lib.maintainers.all ]'';
42 List of maintainers of each module. This option should be defined at
50 example = "./meta.chapter.md";
52 Documentation prologue for the set of options of each module. This
53 option should be defined at most once per module.
57 buildDocsInSandbox = mkOption {
58 type = types.bool // {
59 merge = loc: defs: defs;
64 Whether to include this module in the split options doc build.
65 Disable if the module references `config`, `pkgs` or other module
66 arguments that cannot be evaluated as constants.
68 This option should be defined at most once per module.
75 meta.maintainers = singleton lib.maintainers.pierron;