From 516a14cd33a4665fbc89ad25846e49f9a53ab0da Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Sat, 7 Feb 2026 16:27:07 +0100 Subject: [PATCH] modules/generic/meta-maintainers.nix: Simplify There was no need for it to be this complicated. Notably the maintainer check was never used anyways, because only its merge function was used, which doesn't do a check There is a minor functional change with this commit, which is that even if explicitly `meta.maintainers = []`, that module will be in the result when it wasn't before. I deem this insignificant. --- modules/generic/meta-maintainers.nix | 35 ++++------------------------ 1 file changed, 4 insertions(+), 31 deletions(-) diff --git a/modules/generic/meta-maintainers.nix b/modules/generic/meta-maintainers.nix index f9e8a19aea82..75365d07ce7a 100644 --- a/modules/generic/meta-maintainers.nix +++ b/modules/generic/meta-maintainers.nix @@ -4,39 +4,12 @@ let inherit (lib) mkOption - mkOptionType types ; - maintainer = mkOptionType { - name = "maintainer"; - check = email: lib.elem email (lib.attrValues lib.maintainers); - merge = loc: defs: { - # lib.last: Perhaps this could be merged instead, if "at most once per module" - # is a problem (see option description). - ${(lib.last defs).file} = (lib.last defs).value; - }; - }; - - listOfMaintainers = types.listOf maintainer // { - merge = - loc: defs: - lib.zipAttrs ( - lib.flatten ( - lib.imap1 ( - n: def: - lib.imap1 ( - m: def': - maintainer.merge (loc ++ [ "[${toString n}-${toString m}]" ]) [ - { - inherit (def) file; - value = def'; - } - ] - ) def.value - ) defs - ) - ); + # The resulting value of this type shows where all values were defined + sourceList = types.listOf types.raw // { + merge = loc: defs: lib.listToAttrs (lib.map ({ file, value }: lib.nameValuePair file value) defs); }; in { @@ -44,7 +17,7 @@ in options = { meta = { maintainers = mkOption { - type = listOfMaintainers; + type = sourceList; default = [ ]; example = lib.literalExpression "[ lib.maintainers.alice lib.maintainers.bob ]"; description = ''