diff --git a/modules/generic/meta-maintainers.nix b/modules/generic/meta-maintainers.nix index 75365d07ce7a..ff8ce87b004b 100644 --- a/modules/generic/meta-maintainers.nix +++ b/modules/generic/meta-maintainers.nix @@ -17,7 +17,14 @@ in options = { meta = { maintainers = mkOption { - type = sourceList; + type = + let + allMaintainers = lib.attrValues lib.maintainers; + in + lib.types.addCheck sourceList (lib.all (v: lib.elem v allMaintainers)) + // { + description = "list of lib.maintainers"; + }; default = [ ]; example = lib.literalExpression "[ lib.maintainers.alice lib.maintainers.bob ]"; description = '' diff --git a/modules/generic/meta-maintainers/test.nix b/modules/generic/meta-maintainers/test.nix index e4b37780ca83..a9859a6ee2dc 100644 --- a/modules/generic/meta-maintainers/test.nix +++ b/modules/generic/meta-maintainers/test.nix @@ -14,9 +14,17 @@ let }; in rec { - lib = import ../../../lib; + # Inject ghost into lib.maintainers so it passes the addCheck validation + lib = (import ../../../lib).extend ( + final: prev: { + maintainers = prev.maintainers // { + inherit ghost; + }; + } + ); example = lib.evalModules { + specialArgs.lib = lib; modules = [ ../meta-maintainers.nix { diff --git a/nixos/modules/services/databases/clickhouse.nix b/nixos/modules/services/databases/clickhouse.nix index de9371de513a..50c291a10be6 100644 --- a/nixos/modules/services/databases/clickhouse.nix +++ b/nixos/modules/services/databases/clickhouse.nix @@ -13,7 +13,7 @@ let in { - meta.maintainers = [ "thevar1able" ]; + meta.maintainers = with lib.maintainers; [ thevar1able ]; ###### interface