diff --git a/ci/eval/compare/default.nix b/ci/eval/compare/default.nix index f1473367a7d9..ed1129d75f2e 100644 --- a/ci/eval/compare/default.nix +++ b/ci/eval/compare/default.nix @@ -123,9 +123,7 @@ let # - values: lists of `packagePlatformPath`s diffAttrs = builtins.fromJSON (builtins.readFile "${combined}/combined-diff.json"); - changedPackagePlatformAttrs = convertToPackagePlatformAttrs diffAttrs.changed; rebuildsPackagePlatformAttrs = convertToPackagePlatformAttrs diffAttrs.rebuilds; - removedPackagePlatformAttrs = convertToPackagePlatformAttrs diffAttrs.removed; changed-paths = let @@ -162,9 +160,10 @@ let inherit (callPackage ./maintainers.nix { - changedattrs = lib.attrNames (lib.groupBy (a: a.name) changedPackagePlatformAttrs); - changedpathsjson = touchedFilesJson; - removedattrs = lib.attrNames (lib.groupBy (a: a.name) removedPackagePlatformAttrs); + affectedAttrPaths = map (a: a.packagePath) ( + convertToPackagePlatformAttrs (diffAttrs.changed ++ diffAttrs.removed) + ); + changedFiles = lib.importJSON touchedFilesJson; }) users teams @@ -181,7 +180,7 @@ runCommand "compare" ]; users = builtins.toJSON users; teams = builtins.toJSON teams; - packages = builtins.toJSON packages; + packages = builtins.toJSON (lib.map (lib.concatStringsSep ".") packages); passAsFile = [ "users" "teams" diff --git a/ci/eval/compare/maintainers.nix b/ci/eval/compare/maintainers.nix index daecc1c154da..903e42f733f6 100644 --- a/ci/eval/compare/maintainers.nix +++ b/ci/eval/compare/maintainers.nix @@ -1,70 +1,54 @@ +# Figure out which maintainers (users/teams) are relevant for a PR: +# - All maintainers that can be linked directly to changedFiles +# - Maintainers of affectedAttrPaths if a file directly related to the attribute is in changedFiles +# +# Files and attributes are linked in various ways: +# - pkgs/by-name//* is linked to pkgs. +# - The file position of various attributes of pkgs. +# - Explicitly specified file positions in derivations +# +# Test with +# nix-instantiate --eval --strict --json test.nix -A result | jq +# +# Empty list as an output means success { - lib, - changedattrs, - changedpathsjson, - removedattrs, -}: -let - pkgs = import ../../.. { + # Files that were changed + # Type: ListOf (Nixpkgs-root-relative path) + changedFiles, + # Attributes whose value was affected by the change + # Type: ListOf (ListOf String) + affectedAttrPaths, + + pkgs ? import ../../.. { system = "x86_64-linux"; # We should never try to ping maintainers through package aliases, this can only lead to errors. # One example case is, where an attribute is a throw alias, but then re-introduced in a PR. # This would trigger the throw. By disabling aliases, we can fallback gracefully below. config.allowAliases = false; - }; + overlays = [ ]; + }, + lib, +}: +let + nixpkgsRoot = toString ../../.. + "/"; + stripNixpkgsRootFromKeys = lib.mapAttrs' ( + file: value: lib.nameValuePair (lib.removePrefix nixpkgsRoot file) value + ); - changedpaths = lib.importJSON changedpathsjson; + moduleMeta = (pkgs.nixos { }).config.meta; - # Extract attributes that changed from by-name paths. - # This allows pinging reviewers for pure refactors. - touchedattrs = lib.pipe changedpaths [ - (lib.filter (changed: lib.hasPrefix "pkgs/by-name/" changed && changed != "pkgs/by-name/README.md")) - (map (lib.splitString "/")) - (map (path: lib.elemAt path 3)) - lib.unique - ]; + # Currently just nixos module maintainers, but in the future we can use this for code owners too + fileUsers = stripNixpkgsRootFromKeys moduleMeta.maintainers; + fileTeams = stripNixpkgsRootFromKeys moduleMeta.teams; - anyMatchingFile = filename: lib.any (lib.hasPrefix filename) changedpaths; + anyMatchingFile = filename: lib.any (lib.hasPrefix filename) changedFiles; anyMatchingFiles = files: lib.any anyMatchingFile files; - sharded = name: "${lib.substring 0 2 name}/${name}"; - - attrsWithMaintainers = lib.pipe (changedattrs ++ removedattrs ++ touchedattrs) [ - # An attribute can appear in changed/removed *and* touched - lib.unique - (map ( - name: - let - path = lib.splitString "." name; - # Some packages might be reported as changed on a different platform, but - # not even have an attribute on the platform the maintainers are requested on. - # Fallback to `null` for these to filter them out below. - package = lib.attrByPath path null pkgs; - in - { - inherit name package; - # Adds all files in by-name to each package, no matter whether they are discoverable - # via meta attributes below. For example, this allows pinging maintainers for - # updates to .json files. - # TODO: Support by-name package sets. - filenames = lib.optional (lib.length path == 1) "pkgs/by-name/${sharded (lib.head path)}/"; - # meta.maintainers also contains all individual team members. - # We only want to ping individuals if they're added individually as maintainers, not via teams. - users = package.meta.nonTeamMaintainers or [ ]; - teams = package.meta.teams or [ ]; - } - )) - # No need to match up packages without maintainers with their files. - # This also filters out attributes where `package = null`, which is the - # case for libintl, for example. - (lib.filter (pkg: pkg.users != [ ] || pkg.teams != [ ])) - ]; - relevantFilenames = drv: (lib.unique ( - map (pos: lib.removePrefix "${toString ../../..}/" pos.file) ( + map (pos: lib.removePrefix nixpkgsRoot pos.file) ( lib.filter (x: x != null) [ (drv.meta.maintainersPosition or null) (drv.meta.teamsPosition or null) @@ -87,50 +71,82 @@ let ) )); - attrsWithFilenames = map ( - pkg: pkg // { filenames = pkg.filenames ++ relevantFilenames pkg.package; } - ) attrsWithMaintainers; + relevantAffectedAttrPaths = lib.filter ( + attrPath: + # Some packages might be reported as changed on a different platform, but + # not even have an attribute on the platform the maintainers are requested on. + # Fallback to `null` for these to filter them out + let + package = lib.attrByPath attrPath null pkgs; + in + package != null && anyMatchingFiles (relevantFilenames package) + ) affectedAttrPaths; - attrsWithModifiedFiles = lib.filter (pkg: anyMatchingFiles pkg.filenames) attrsWithFilenames; + # Extract attributes that changed from by-name paths. + # This allows pinging reviewers for pure refactors. + changedByNameAttrPaths = lib.pipe changedFiles [ + (lib.filter (changed: lib.hasPrefix "pkgs/by-name/" changed)) + (map (lib.splitString "/")) + # Filters out e.g. pkgs/by-name/README.md + (lib.filter (path: lib.length path > 3)) + (map (path: lib.elemAt path 3)) + (map lib.singleton) + ]; + + # An attribute can appear in affected *and* touched + attrPathsToGetMaintainersFor = lib.unique (relevantAffectedAttrPaths ++ changedByNameAttrPaths); + + attrPathEntities = lib.concatMap ( + attrPath: + let + package = lib.getAttrFromPath attrPath pkgs; + in + # meta.maintainers also contains all individual team members. + # We only want to ping individuals if they're added individually as maintainers, not via teams. + userPings { inherit attrPath; } (package.meta.nonTeamMaintainers or [ ]) + ++ lib.concatMap (teamPings { inherit attrPath; }) (package.meta.teams or [ ]) + ) attrPathsToGetMaintainersFor; + + changedFileEntities = lib.concatMap ( + file: + userPings { inherit file; } (fileUsers.${file} or [ ]) + ++ lib.concatMap (teamPings { inherit file; }) (fileTeams.${file} or [ ]) + ) changedFiles; userPings = - pkg: + context: map (maintainer: { type = "user"; userId = maintainer.githubId; - packageName = pkg.name; + inherit context; }); teamPings = - pkg: team: - if team ? github then + context: team: + if team ? githubId then [ { type = "team"; teamId = team.githubId; - packageName = pkg.name; + inherit context; } ] else - userPings pkg team.members; + userPings context team.members; - maintainersToPing = lib.concatMap ( - pkg: userPings pkg pkg.users ++ lib.concatMap (teamPings pkg) pkg.teams - ) attrsWithModifiedFiles; - - byType = lib.groupBy (ping: ping.type) maintainersToPing; + byType = lib.groupBy (ping: ping.type) (attrPathEntities ++ changedFileEntities); byUser = lib.pipe (byType.user or [ ]) [ (lib.groupBy (ping: toString ping.userId)) - (lib.mapAttrs (_user: lib.map (pkg: pkg.packageName))) + (lib.mapAttrs (_user: lib.map (pkg: pkg.context))) ]; byTeam = lib.pipe (byType.team or [ ]) [ (lib.groupBy (ping: toString ping.teamId)) - (lib.mapAttrs (_team: lib.map (pkg: pkg.packageName))) + (lib.mapAttrs (_team: lib.map (pkg: pkg.context))) ]; in { users = byUser; teams = byTeam; - packages = lib.catAttrs "name" attrsWithModifiedFiles; + packages = attrPathsToGetMaintainersFor; } diff --git a/ci/eval/compare/test.nix b/ci/eval/compare/test.nix new file mode 100644 index 000000000000..323d71d87680 --- /dev/null +++ b/ci/eval/compare/test.nix @@ -0,0 +1,228 @@ +{ + pkgs ? import ../../.. { + config = { }; + overlays = [ ]; + }, + lib ? pkgs.lib, +}: +let + fun = import ./maintainers.nix; + + mockPkgs = + { + packages ? [ ], + modules ? [ ], + githubTeams ? true, + }: + lib.updateManyAttrsByPath + (lib.imap0 (i: p: { + path = p; + update = _: { + meta.maintainersPosition.file = lib.concatStringsSep "/" p; + meta.nonTeamMaintainers = [ { githubId = i; } ]; + meta.teams = + if githubTeams then [ { githubId = i + 100; } ] else [ { members = [ { githubId = i + 100; } ]; } ]; + }; + }) packages) + { + nixos = + { }: + { + config.meta.maintainers = lib.listToAttrs ( + lib.imap0 (i: m: lib.nameValuePair m [ { githubId = i; } ]) modules + ); + config.meta.teams = lib.listToAttrs ( + lib.imap0 ( + i: m: + lib.nameValuePair m ( + if githubTeams then [ { githubId = i + 100; } ] else [ { members = [ { githubId = i + 100; } ]; } ] + ) + ) modules + ); + }; + }; + + tests = { + testEmpty = { + expr = fun { + pkgs = mockPkgs { }; + inherit lib; + changedFiles = [ ]; + affectedAttrPaths = [ ]; + }; + expected = { + packages = [ ]; + teams = { }; + users = { }; + }; + }; + testNonExistentAffected = { + expr = fun { + pkgs = mockPkgs { }; + inherit lib; + changedFiles = [ "a" ]; + affectedAttrPaths = [ [ "b" ] ]; + }; + expected = { + packages = [ ]; + teams = { }; + users = { }; + }; + }; + testIrrelevantAffected = { + expr = fun { + pkgs = mockPkgs { + packages = [ [ "b" ] ]; + }; + inherit lib; + changedFiles = [ "a" ]; + affectedAttrPaths = [ [ "b" ] ]; + }; + expected = { + packages = [ ]; + teams = { }; + users = { }; + }; + }; + testRelevantAffected = { + expr = fun { + pkgs = mockPkgs { + packages = [ [ "b" ] ]; + }; + inherit lib; + # Also tests that subpaths work + changedFiles = [ "b/c" ]; + affectedAttrPaths = [ [ "b" ] ]; + }; + expected = { + packages = [ [ "b" ] ]; + teams."100" = [ + { attrPath = [ "b" ]; } + ]; + users."0" = [ + { attrPath = [ "b" ]; } + ]; + }; + }; + testRelevantAffectedNonGitHub = { + expr = fun { + pkgs = mockPkgs { + packages = [ [ "b" ] ]; + githubTeams = false; + }; + inherit lib; + changedFiles = [ "b/c" ]; + affectedAttrPaths = [ [ "b" ] ]; + }; + expected = { + packages = [ [ "b" ] ]; + teams = { }; + users."0" = [ + { attrPath = [ "b" ]; } + ]; + users."100" = [ + { attrPath = [ "b" ]; } + ]; + }; + }; + testByNameChanged = { + expr = fun { + pkgs = mockPkgs { + packages = [ [ "hello" ] ]; + }; + inherit lib; + changedFiles = [ "pkgs/by-name/he/hello/sources.json" ]; + affectedAttrPaths = [ ]; + }; + expected = { + packages = [ [ "hello" ] ]; + teams."100" = [ + { attrPath = [ "hello" ]; } + ]; + users."0" = [ + { attrPath = [ "hello" ]; } + ]; + }; + }; + testByNameReadmeChanged = { + expr = fun { + pkgs = mockPkgs { + packages = [ [ "hello" ] ]; + }; + inherit lib; + changedFiles = [ "pkgs/by-name/README.md" ]; + affectedAttrPaths = [ ]; + }; + expected = { + packages = [ ]; + teams = { }; + users = { }; + }; + }; + testNoDuplicates = { + expr = fun { + pkgs = mockPkgs { + packages = [ [ "hello" ] ]; + }; + inherit lib; + changedFiles = [ + "hello" + "pkgs/by-name/he/hello/sources.json" + ]; + affectedAttrPaths = [ [ "hello" ] ]; + }; + expected = { + packages = [ [ "hello" ] ]; + teams."100" = [ + { attrPath = [ "hello" ]; } + ]; + users."0" = [ + { attrPath = [ "hello" ]; } + ]; + }; + }; + testModuleMaintainers = { + expr = fun { + pkgs = mockPkgs { + modules = [ "a" ]; + }; + inherit lib; + changedFiles = [ "a" ]; + affectedAttrPaths = [ ]; + }; + expected = { + packages = [ ]; + teams."100" = [ + { file = "a"; } + ]; + users."0" = [ + { file = "a"; } + ]; + }; + }; + testModuleMaintainersNonGithub = { + expr = fun { + pkgs = mockPkgs { + modules = [ "a" ]; + githubTeams = false; + }; + inherit lib; + changedFiles = [ "a" ]; + affectedAttrPaths = [ ]; + }; + expected = { + packages = [ ]; + teams = { }; + users."100" = [ + { file = "a"; } + ]; + users."0" = [ + { file = "a"; } + ]; + }; + }; + }; +in +{ + result = lib.runTests tests; +} diff --git a/modules/generic/meta-maintainers.nix b/modules/generic/meta-maintainers.nix index f9e8a19aea82..ce37dae03db6 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,14 @@ in options = { meta = { maintainers = mkOption { - type = listOfMaintainers; + 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 = '' @@ -54,6 +34,22 @@ in The option value is not a list of maintainers, but an attribute set that maps module file names to lists of maintainers. ''; }; + teams = mkOption { + type = + let + allTeams = lib.attrValues lib.teams; + in + lib.types.addCheck sourceList (lib.all (v: lib.elem v allTeams)) + // { + description = "list of lib.teams"; + }; + default = [ ]; + example = lib.literalExpression "[ lib.teams.acme lib.teams.haskell ]"; + description = '' + List of team maintainers of each module. + This option should be defined at most once per module. + ''; + }; }; }; meta.maintainers = with lib.maintainers; [ 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/config/vte.nix b/nixos/modules/config/vte.nix index 8ed746d4966d..f3ec58012b0d 100644 --- a/nixos/modules/config/vte.nix +++ b/nixos/modules/config/vte.nix @@ -22,7 +22,7 @@ in { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; options = { diff --git a/nixos/modules/config/xdg/autostart.nix b/nixos/modules/config/xdg/autostart.nix index 8fc3cb9920fa..8310c377d43b 100644 --- a/nixos/modules/config/xdg/autostart.nix +++ b/nixos/modules/config/xdg/autostart.nix @@ -1,7 +1,7 @@ { config, lib, ... }: { meta = { - maintainers = lib.teams.freedesktop.members; + teams = [ lib.teams.freedesktop ]; }; options = { diff --git a/nixos/modules/config/xdg/icons.nix b/nixos/modules/config/xdg/icons.nix index 7810c57ef386..41eee42767f4 100644 --- a/nixos/modules/config/xdg/icons.nix +++ b/nixos/modules/config/xdg/icons.nix @@ -6,7 +6,7 @@ }: { meta = { - maintainers = lib.teams.freedesktop.members; + teams = [ lib.teams.freedesktop ]; }; options = { diff --git a/nixos/modules/config/xdg/menus.nix b/nixos/modules/config/xdg/menus.nix index 6c05d49189ad..efbfdc5f2383 100644 --- a/nixos/modules/config/xdg/menus.nix +++ b/nixos/modules/config/xdg/menus.nix @@ -1,7 +1,7 @@ { config, lib, ... }: { meta = { - maintainers = lib.teams.freedesktop.members; + teams = [ lib.teams.freedesktop ]; }; options = { diff --git a/nixos/modules/config/xdg/mime.nix b/nixos/modules/config/xdg/mime.nix index 79955a03ef2f..59d62a32010b 100644 --- a/nixos/modules/config/xdg/mime.nix +++ b/nixos/modules/config/xdg/mime.nix @@ -13,7 +13,7 @@ in { meta = { - maintainers = lib.teams.freedesktop.members ++ [ ]; + teams = [ lib.teams.freedesktop ]; }; options = { diff --git a/nixos/modules/config/xdg/portal.nix b/nixos/modules/config/xdg/portal.nix index 5fd9d7fdd1bb..6bc6ce5e33e7 100644 --- a/nixos/modules/config/xdg/portal.nix +++ b/nixos/modules/config/xdg/portal.nix @@ -32,7 +32,7 @@ in ]; meta = { - maintainers = teams.freedesktop.members; + teams = [ teams.freedesktop ]; }; options.xdg.portal = { diff --git a/nixos/modules/config/xdg/portals/lxqt.nix b/nixos/modules/config/xdg/portals/lxqt.nix index 77a5f144730d..423fcae1b2b1 100644 --- a/nixos/modules/config/xdg/portals/lxqt.nix +++ b/nixos/modules/config/xdg/portals/lxqt.nix @@ -10,7 +10,7 @@ let in { meta = { - maintainers = lib.teams.lxqt.members; + teams = [ lib.teams.lxqt ]; }; options.xdg.portal.lxqt = { diff --git a/nixos/modules/config/xdg/sounds.nix b/nixos/modules/config/xdg/sounds.nix index 8b5bb67e4109..e23ced7f76dd 100644 --- a/nixos/modules/config/xdg/sounds.nix +++ b/nixos/modules/config/xdg/sounds.nix @@ -6,7 +6,7 @@ }: { meta = { - maintainers = lib.teams.freedesktop.members; + teams = [ lib.teams.freedesktop ]; }; options = { diff --git a/nixos/modules/programs/dsearch.nix b/nixos/modules/programs/dsearch.nix index f1597189fa38..5e99478054d3 100644 --- a/nixos/modules/programs/dsearch.nix +++ b/nixos/modules/programs/dsearch.nix @@ -49,5 +49,5 @@ in systemd.user.services.dsearch.wantedBy = mkIf cfg.systemd.enable [ cfg.systemd.target ]; }; - meta.maintainers = lib.teams.danklinux.members; + meta.teams = [ lib.teams.danklinux ]; } diff --git a/nixos/modules/programs/geary.nix b/nixos/modules/programs/geary.nix index 0cbfe5b0605c..6c881dc8ccaf 100644 --- a/nixos/modules/programs/geary.nix +++ b/nixos/modules/programs/geary.nix @@ -11,7 +11,7 @@ let in { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; options = { diff --git a/nixos/modules/programs/gnome-disks.nix b/nixos/modules/programs/gnome-disks.nix index e6f93c6fdfe6..c6de53d844f3 100644 --- a/nixos/modules/programs/gnome-disks.nix +++ b/nixos/modules/programs/gnome-disks.nix @@ -10,7 +10,7 @@ { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; ###### interface diff --git a/nixos/modules/programs/gnome-terminal.nix b/nixos/modules/programs/gnome-terminal.nix index aea0e97c3634..f7ade6a184c4 100644 --- a/nixos/modules/programs/gnome-terminal.nix +++ b/nixos/modules/programs/gnome-terminal.nix @@ -16,7 +16,7 @@ in { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; options = { diff --git a/nixos/modules/programs/nm-applet.nix b/nixos/modules/programs/nm-applet.nix index 7aecbadd2ebf..a1c69f52f624 100644 --- a/nixos/modules/programs/nm-applet.nix +++ b/nixos/modules/programs/nm-applet.nix @@ -10,7 +10,7 @@ let in { meta = { - maintainers = lib.teams.freedesktop.members; + teams = [ lib.teams.freedesktop ]; }; options.programs.nm-applet = { diff --git a/nixos/modules/programs/steam.nix b/nixos/modules/programs/steam.nix index 6fa66f681457..2ae30243c432 100644 --- a/nixos/modules/programs/steam.nix +++ b/nixos/modules/programs/steam.nix @@ -285,5 +285,5 @@ in ]; }; - meta.maintainers = lib.teams.steam.members; + meta.teams = [ lib.teams.steam ]; } diff --git a/nixos/modules/programs/thunar.nix b/nixos/modules/programs/thunar.nix index 76da7d94c67c..c565f3ef1cec 100644 --- a/nixos/modules/programs/thunar.nix +++ b/nixos/modules/programs/thunar.nix @@ -11,7 +11,7 @@ let in { meta = { - maintainers = lib.teams.xfce.members; + teams = [ lib.teams.xfce ]; }; options = { diff --git a/nixos/modules/programs/wayland/dms-shell.nix b/nixos/modules/programs/wayland/dms-shell.nix index 53f84c1a41b1..b24253b57c23 100644 --- a/nixos/modules/programs/wayland/dms-shell.nix +++ b/nixos/modules/programs/wayland/dms-shell.nix @@ -226,5 +226,5 @@ in hardware.graphics.enable = lib.mkDefault true; }; - meta.maintainers = lib.teams.danklinux.members; + meta.teams = [ lib.teams.danklinux ]; } diff --git a/nixos/modules/programs/wayland/hyprland.nix b/nixos/modules/programs/wayland/hyprland.nix index 44aedc3d248e..744f7af70fe5 100644 --- a/nixos/modules/programs/wayland/hyprland.nix +++ b/nixos/modules/programs/wayland/hyprland.nix @@ -130,5 +130,5 @@ in ] "Nvidia patches are no longer needed") ]; - meta.maintainers = lib.teams.hyprland.members; + meta.teams = [ lib.teams.hyprland ]; } diff --git a/nixos/modules/programs/wayland/hyprlock.nix b/nixos/modules/programs/wayland/hyprlock.nix index e05d8f826a4c..c1ba14ddf771 100644 --- a/nixos/modules/programs/wayland/hyprlock.nix +++ b/nixos/modules/programs/wayland/hyprlock.nix @@ -26,5 +26,5 @@ in security.pam.services.hyprlock = { }; }; - meta.maintainers = lib.teams.hyprland.members; + meta.teams = [ lib.teams.hyprland ]; } diff --git a/nixos/modules/programs/xfconf.nix b/nixos/modules/programs/xfconf.nix index cc9b6ddf7ac7..74a05cc1a798 100644 --- a/nixos/modules/programs/xfconf.nix +++ b/nixos/modules/programs/xfconf.nix @@ -11,7 +11,7 @@ let in { meta = { - maintainers = lib.teams.xfce.members; + teams = [ lib.teams.xfce ]; }; options = { diff --git a/nixos/modules/security/acme/default.nix b/nixos/modules/security/acme/default.nix index 1b262e285e19..cb3a0010a758 100644 --- a/nixos/modules/security/acme/default.nix +++ b/nixos/modules/security/acme/default.nix @@ -1218,7 +1218,7 @@ in ]; meta = { - maintainers = lib.teams.acme.members; + teams = [ lib.teams.acme ]; doc = ./default.md; }; } diff --git a/nixos/modules/security/apparmor.nix b/nixos/modules/security/apparmor.nix index 6b059c2bd522..d446bb37a722 100644 --- a/nixos/modules/security/apparmor.nix +++ b/nixos/modules/security/apparmor.nix @@ -272,5 +272,5 @@ in }; }; - meta.maintainers = lib.teams.apparmor.members; + meta.teams = [ lib.teams.apparmor ]; } diff --git a/nixos/modules/services/cluster/rancher/default.nix b/nixos/modules/services/cluster/rancher/default.nix index 3ed0f75d081e..c511da5a62f5 100644 --- a/nixos/modules/services/cluster/rancher/default.nix +++ b/nixos/modules/services/cluster/rancher/default.nix @@ -962,5 +962,6 @@ in (import ./rke2.nix args) ]; - meta.maintainers = pkgs.rke2.meta.maintainers ++ lib.teams.k3s.members; + meta.teams = [ lib.teams.k3s ]; + meta.maintainers = pkgs.rke2.meta.maintainers; } diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix index 42e88e9ddbe3..1cf585604b5e 100644 --- a/nixos/modules/services/continuous-integration/buildbot/master.nix +++ b/nixos/modules/services/continuous-integration/buildbot/master.nix @@ -313,5 +313,5 @@ in '') ]; - meta.maintainers = lib.teams.buildbot.members; + meta.teams = [ lib.teams.buildbot ]; } diff --git a/nixos/modules/services/continuous-integration/buildbot/worker.nix b/nixos/modules/services/continuous-integration/buildbot/worker.nix index b1e1e7e254b5..c16720b0bf67 100644 --- a/nixos/modules/services/continuous-integration/buildbot/worker.nix +++ b/nixos/modules/services/continuous-integration/buildbot/worker.nix @@ -196,6 +196,6 @@ in }; }; - meta.maintainers = lib.teams.buildbot.members; + meta.teams = [ lib.teams.buildbot ]; } diff --git a/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix index b95d30ceea4a..693229b87d97 100644 --- a/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix +++ b/nixos/modules/services/continuous-integration/gitlab-runner/runner.nix @@ -893,5 +893,5 @@ in ) ]; - meta.maintainers = teams.gitlab.members; + meta.teams = [ teams.gitlab ]; } 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 diff --git a/nixos/modules/services/desktop-managers/budgie.nix b/nixos/modules/services/desktop-managers/budgie.nix index 5f7abf82e7b0..29bdb469d7f1 100644 --- a/nixos/modules/services/desktop-managers/budgie.nix +++ b/nixos/modules/services/desktop-managers/budgie.nix @@ -61,7 +61,7 @@ let notExcluded = pkg: utils.disablePackageByName pkg config.environment.budgie.excludePackages; in { - meta.maintainers = lib.teams.budgie.members; + meta.teams = [ lib.teams.budgie ]; imports = [ (lib.mkRenamedOptionModule diff --git a/nixos/modules/services/desktop-managers/cosmic.nix b/nixos/modules/services/desktop-managers/cosmic.nix index 26b185cc7742..c780a5164922 100644 --- a/nixos/modules/services/desktop-managers/cosmic.nix +++ b/nixos/modules/services/desktop-managers/cosmic.nix @@ -44,7 +44,7 @@ let ]; in { - meta.maintainers = lib.teams.cosmic.members; + meta.teams = [ lib.teams.cosmic ]; options = { services.desktopManager.cosmic = { diff --git a/nixos/modules/services/desktop-managers/gnome.nix b/nixos/modules/services/desktop-managers/gnome.nix index 5c11388eb97b..ddd13354612e 100644 --- a/nixos/modules/services/desktop-managers/gnome.nix +++ b/nixos/modules/services/desktop-managers/gnome.nix @@ -82,7 +82,7 @@ in { meta = { doc = ./gnome.md; - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; imports = [ diff --git a/nixos/modules/services/desktop-managers/lomiri.nix b/nixos/modules/services/desktop-managers/lomiri.nix index b82c194be92c..1f40afb3732a 100644 --- a/nixos/modules/services/desktop-managers/lomiri.nix +++ b/nixos/modules/services/desktop-managers/lomiri.nix @@ -292,5 +292,5 @@ in }) ]; - meta.maintainers = lib.teams.lomiri.members; + meta.teams = [ lib.teams.lomiri ]; } diff --git a/nixos/modules/services/desktop-managers/pantheon.nix b/nixos/modules/services/desktop-managers/pantheon.nix index 1fe99c0f66ac..b9498a0adb83 100644 --- a/nixos/modules/services/desktop-managers/pantheon.nix +++ b/nixos/modules/services/desktop-managers/pantheon.nix @@ -25,7 +25,7 @@ in meta = { doc = ./pantheon.md; - maintainers = teams.pantheon.members; + teams = [ teams.pantheon ]; }; imports = [ diff --git a/nixos/modules/services/desktops/accountsservice.nix b/nixos/modules/services/desktops/accountsservice.nix index 758f7383ca63..fd328e357ce2 100644 --- a/nixos/modules/services/desktops/accountsservice.nix +++ b/nixos/modules/services/desktops/accountsservice.nix @@ -7,7 +7,7 @@ }: { meta = { - maintainers = lib.teams.freedesktop.members; + teams = [ lib.teams.freedesktop ]; }; ###### interface diff --git a/nixos/modules/services/desktops/geoclue2.nix b/nixos/modules/services/desktops/geoclue2.nix index ffc48d6b9435..e44816cf2542 100644 --- a/nixos/modules/services/desktops/geoclue2.nix +++ b/nixos/modules/services/desktops/geoclue2.nix @@ -373,6 +373,6 @@ in }; meta = { - maintainers = [ ] ++ lib.teams.pantheon.members; + teams = [ lib.teams.pantheon ]; }; } diff --git a/nixos/modules/services/desktops/gnome/at-spi2-core.nix b/nixos/modules/services/desktops/gnome/at-spi2-core.nix index 293a3166b187..77070843e04e 100644 --- a/nixos/modules/services/desktops/gnome/at-spi2-core.nix +++ b/nixos/modules/services/desktops/gnome/at-spi2-core.nix @@ -10,7 +10,7 @@ { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; ###### interface diff --git a/nixos/modules/services/desktops/gnome/evolution-data-server.nix b/nixos/modules/services/desktops/gnome/evolution-data-server.nix index 539fcf25342e..4437be835604 100644 --- a/nixos/modules/services/desktops/gnome/evolution-data-server.nix +++ b/nixos/modules/services/desktops/gnome/evolution-data-server.nix @@ -10,7 +10,7 @@ { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; ###### interface diff --git a/nixos/modules/services/desktops/gnome/gcr-ssh-agent.nix b/nixos/modules/services/desktops/gnome/gcr-ssh-agent.nix index d88f1a618049..eb1bad3b15c4 100644 --- a/nixos/modules/services/desktops/gnome/gcr-ssh-agent.nix +++ b/nixos/modules/services/desktops/gnome/gcr-ssh-agent.nix @@ -13,7 +13,7 @@ let in { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; options = { diff --git a/nixos/modules/services/desktops/gnome/glib-networking.nix b/nixos/modules/services/desktops/gnome/glib-networking.nix index 558abca0aa31..048db8cf54a3 100644 --- a/nixos/modules/services/desktops/gnome/glib-networking.nix +++ b/nixos/modules/services/desktops/gnome/glib-networking.nix @@ -10,7 +10,7 @@ { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; ###### interface diff --git a/nixos/modules/services/desktops/gnome/gnome-browser-connector.nix b/nixos/modules/services/desktops/gnome/gnome-browser-connector.nix index 335ebc9a144d..17c1dd9045e8 100644 --- a/nixos/modules/services/desktops/gnome/gnome-browser-connector.nix +++ b/nixos/modules/services/desktops/gnome/gnome-browser-connector.nix @@ -16,7 +16,7 @@ in { meta = { - maintainers = teams.gnome.members; + teams = [ teams.gnome ]; }; options = { diff --git a/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix b/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix index 3df01b59738d..e72574795e65 100644 --- a/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix +++ b/nixos/modules/services/desktops/gnome/gnome-initial-setup.nix @@ -48,7 +48,7 @@ in { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; ###### interface diff --git a/nixos/modules/services/desktops/gnome/gnome-keyring.nix b/nixos/modules/services/desktops/gnome/gnome-keyring.nix index 550c6ba8eff5..9140d261a770 100644 --- a/nixos/modules/services/desktops/gnome/gnome-keyring.nix +++ b/nixos/modules/services/desktops/gnome/gnome-keyring.nix @@ -12,7 +12,7 @@ in { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; options = { diff --git a/nixos/modules/services/desktops/gnome/gnome-online-accounts.nix b/nixos/modules/services/desktops/gnome/gnome-online-accounts.nix index 920c4cf8133e..7ec9c7e06296 100644 --- a/nixos/modules/services/desktops/gnome/gnome-online-accounts.nix +++ b/nixos/modules/services/desktops/gnome/gnome-online-accounts.nix @@ -10,7 +10,7 @@ { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; ###### interface diff --git a/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix b/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix index 6e685557ecf0..958fbb546dc3 100644 --- a/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix +++ b/nixos/modules/services/desktops/gnome/gnome-remote-desktop.nix @@ -8,7 +8,7 @@ { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; ###### interface diff --git a/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix b/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix index 06d001ab8134..7d6f7f7f3478 100644 --- a/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix +++ b/nixos/modules/services/desktops/gnome/gnome-settings-daemon.nix @@ -16,7 +16,7 @@ in { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; ###### interface diff --git a/nixos/modules/services/desktops/gnome/gnome-software.nix b/nixos/modules/services/desktops/gnome/gnome-software.nix index ced2549a9e21..6bbe4d5487ab 100644 --- a/nixos/modules/services/desktops/gnome/gnome-software.nix +++ b/nixos/modules/services/desktops/gnome/gnome-software.nix @@ -7,7 +7,7 @@ { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; options = { diff --git a/nixos/modules/services/desktops/gnome/gnome-user-share.nix b/nixos/modules/services/desktops/gnome/gnome-user-share.nix index c6d0f723c047..eb869106c818 100644 --- a/nixos/modules/services/desktops/gnome/gnome-user-share.nix +++ b/nixos/modules/services/desktops/gnome/gnome-user-share.nix @@ -10,7 +10,7 @@ { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; ###### interface diff --git a/nixos/modules/services/desktops/gnome/localsearch.nix b/nixos/modules/services/desktops/gnome/localsearch.nix index 9160d1f06431..90018c557ec1 100644 --- a/nixos/modules/services/desktops/gnome/localsearch.nix +++ b/nixos/modules/services/desktops/gnome/localsearch.nix @@ -7,7 +7,7 @@ { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; imports = [ diff --git a/nixos/modules/services/desktops/gnome/rygel.nix b/nixos/modules/services/desktops/gnome/rygel.nix index e8a147ed6e76..410550b8990c 100644 --- a/nixos/modules/services/desktops/gnome/rygel.nix +++ b/nixos/modules/services/desktops/gnome/rygel.nix @@ -14,7 +14,7 @@ in { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; ###### interface diff --git a/nixos/modules/services/desktops/gnome/sushi.nix b/nixos/modules/services/desktops/gnome/sushi.nix index ea99c7ce30f0..d8aff2a7a0bd 100644 --- a/nixos/modules/services/desktops/gnome/sushi.nix +++ b/nixos/modules/services/desktops/gnome/sushi.nix @@ -10,7 +10,7 @@ { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; ###### interface diff --git a/nixos/modules/services/desktops/gnome/tinysparql.nix b/nixos/modules/services/desktops/gnome/tinysparql.nix index 551b5800e84c..3811780ddbc4 100644 --- a/nixos/modules/services/desktops/gnome/tinysparql.nix +++ b/nixos/modules/services/desktops/gnome/tinysparql.nix @@ -10,7 +10,7 @@ let in { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; imports = [ diff --git a/nixos/modules/services/desktops/gvfs.nix b/nixos/modules/services/desktops/gvfs.nix index 315141705546..004810327798 100644 --- a/nixos/modules/services/desktops/gvfs.nix +++ b/nixos/modules/services/desktops/gvfs.nix @@ -16,7 +16,7 @@ in { meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; ###### interface diff --git a/nixos/modules/services/desktops/pipewire/pipewire.nix b/nixos/modules/services/desktops/pipewire/pipewire.nix index 3f4cf2af05b2..77cdfa9a573e 100644 --- a/nixos/modules/services/desktops/pipewire/pipewire.nix +++ b/nixos/modules/services/desktops/pipewire/pipewire.nix @@ -85,7 +85,8 @@ let }; in { - meta.maintainers = teams.freedesktop.members ++ [ maintainers.k900 ]; + meta.teams = [ teams.freedesktop ]; + meta.maintainers = [ maintainers.k900 ]; ###### interface options = { diff --git a/nixos/modules/services/desktops/tumbler.nix b/nixos/modules/services/desktops/tumbler.nix index 12b0184d42c9..9143466fafef 100644 --- a/nixos/modules/services/desktops/tumbler.nix +++ b/nixos/modules/services/desktops/tumbler.nix @@ -18,7 +18,7 @@ in ]; meta = { - maintainers = [ ] ++ lib.teams.pantheon.members; + teams = [ lib.teams.pantheon ]; }; ###### interface diff --git a/nixos/modules/services/desktops/zeitgeist.nix b/nixos/modules/services/desktops/zeitgeist.nix index 227287dd2377..fe065c4a4d7a 100644 --- a/nixos/modules/services/desktops/zeitgeist.nix +++ b/nixos/modules/services/desktops/zeitgeist.nix @@ -8,7 +8,7 @@ { meta = { - maintainers = [ ] ++ lib.teams.pantheon.members; + teams = [ lib.teams.pantheon ]; }; ###### interface diff --git a/nixos/modules/services/display-managers/cosmic-greeter.nix b/nixos/modules/services/display-managers/cosmic-greeter.nix index 8886a4766e4e..93320b9be90a 100644 --- a/nixos/modules/services/display-managers/cosmic-greeter.nix +++ b/nixos/modules/services/display-managers/cosmic-greeter.nix @@ -16,7 +16,7 @@ let in { - meta.maintainers = lib.teams.cosmic.members; + meta.teams = [ lib.teams.cosmic ]; options.services.displayManager.cosmic-greeter = { enable = lib.mkEnableOption "COSMIC greeter"; diff --git a/nixos/modules/services/display-managers/dms-greeter.nix b/nixos/modules/services/display-managers/dms-greeter.nix index d049daa9b24f..abdd6e2ddf3b 100644 --- a/nixos/modules/services/display-managers/dms-greeter.nix +++ b/nixos/modules/services/display-managers/dms-greeter.nix @@ -321,5 +321,5 @@ in services.libinput.enable = mkDefault true; }; - meta.maintainers = lib.teams.danklinux.members; + meta.teams = [ lib.teams.danklinux ]; } diff --git a/nixos/modules/services/display-managers/gdm.nix b/nixos/modules/services/display-managers/gdm.nix index e46c8cf72fe7..9fc92e91018c 100644 --- a/nixos/modules/services/display-managers/gdm.nix +++ b/nixos/modules/services/display-managers/gdm.nix @@ -105,7 +105,7 @@ in ]; meta = { - maintainers = lib.teams.gnome.members; + teams = [ lib.teams.gnome ]; }; ###### interface diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix index dc1900f52c1e..eb4b475d4187 100644 --- a/nixos/modules/services/home-automation/home-assistant.nix +++ b/nixos/modules/services/home-automation/home-assistant.nix @@ -171,7 +171,7 @@ in meta = { buildDocsInSandbox = false; - maintainers = lib.teams.home-assistant.members; + teams = [ lib.teams.home-assistant ]; }; options.services.home-assistant = { diff --git a/nixos/modules/services/matrix/dendrite.nix b/nixos/modules/services/matrix/dendrite.nix index 2c31266457df..302bd42b5e37 100644 --- a/nixos/modules/services/matrix/dendrite.nix +++ b/nixos/modules/services/matrix/dendrite.nix @@ -341,5 +341,5 @@ in }; }; }; - meta.maintainers = lib.teams.matrix.members; + meta.teams = [ lib.teams.matrix ]; } diff --git a/nixos/modules/services/misc/forgejo.nix b/nixos/modules/services/misc/forgejo.nix index 9b85fc8dc133..6834ca2008ea 100644 --- a/nixos/modules/services/misc/forgejo.nix +++ b/nixos/modules/services/misc/forgejo.nix @@ -849,5 +849,5 @@ in }; meta.doc = ./forgejo.md; - meta.maintainers = lib.teams.forgejo.members; + meta.teams = [ lib.teams.forgejo ]; } diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index c353caed9e03..0601454e9b2e 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -1911,5 +1911,5 @@ in }; meta.doc = ./gitlab.md; - meta.maintainers = teams.gitlab.members; + meta.teams = [ teams.gitlab ]; } diff --git a/nixos/modules/services/networking/epmd.nix b/nixos/modules/services/networking/epmd.nix index c17a7c974fa7..d2aceb5a9bb1 100644 --- a/nixos/modules/services/networking/epmd.nix +++ b/nixos/modules/services/networking/epmd.nix @@ -63,5 +63,5 @@ in }; }; - meta.maintainers = lib.teams.beam.members; + meta.teams = [ lib.teams.beam ]; } diff --git a/nixos/modules/services/networking/jibri/default.nix b/nixos/modules/services/networking/jibri/default.nix index e07bf5131a92..861a6713b017 100644 --- a/nixos/modules/services/networking/jibri/default.nix +++ b/nixos/modules/services/networking/jibri/default.nix @@ -444,5 +444,5 @@ in }; }; - meta.maintainers = lib.teams.jitsi.members; + meta.teams = [ lib.teams.jitsi ]; } diff --git a/nixos/modules/services/networking/jicofo.nix b/nixos/modules/services/networking/jicofo.nix index 9d0fbfd74081..9c2139eff1ab 100644 --- a/nixos/modules/services/networking/jicofo.nix +++ b/nixos/modules/services/networking/jicofo.nix @@ -166,5 +166,5 @@ in lib.mkDefault "${pkgs.jicofo}/etc/jitsi/jicofo/logging.properties-journal"; }; - meta.maintainers = lib.teams.jitsi.members; + meta.teams = [ lib.teams.jitsi ]; } diff --git a/nixos/modules/services/networking/jigasi.nix b/nixos/modules/services/networking/jigasi.nix index 54b2f36685f6..c6bcbd28dead 100644 --- a/nixos/modules/services/networking/jigasi.nix +++ b/nixos/modules/services/networking/jigasi.nix @@ -243,5 +243,5 @@ in lib.mkDefault "${stateDir}/logging.properties-journal"; }; - meta.maintainers = lib.teams.jitsi.members; + meta.teams = [ lib.teams.jitsi ]; } diff --git a/nixos/modules/services/networking/jitsi-videobridge.nix b/nixos/modules/services/networking/jitsi-videobridge.nix index a55760d5cae2..bd9692e6338a 100644 --- a/nixos/modules/services/networking/jitsi-videobridge.nix +++ b/nixos/modules/services/networking/jitsi-videobridge.nix @@ -331,5 +331,5 @@ in ]; }; - meta.maintainers = lib.teams.jitsi.members; + meta.teams = [ lib.teams.jitsi ]; } diff --git a/nixos/modules/services/networking/modemmanager.nix b/nixos/modules/services/networking/modemmanager.nix index fefee7a448eb..604340fd0748 100644 --- a/nixos/modules/services/networking/modemmanager.nix +++ b/nixos/modules/services/networking/modemmanager.nix @@ -9,7 +9,7 @@ let in { meta = { - maintainers = lib.teams.freedesktop.members; + teams = [ lib.teams.freedesktop ]; }; options = with lib; { diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index 1f3773c70b00..2cb3532471c8 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -142,9 +142,8 @@ in { meta = { - maintainers = teams.freedesktop.members ++ [ - lib.maintainers.frontear - ]; + teams = [ lib.teams.freedesktop ]; + maintainers = [ lib.maintainers.frontear ]; }; ###### interface diff --git a/nixos/modules/services/security/reaction.nix b/nixos/modules/services/security/reaction.nix index 039e507ae57f..ba0cc6581dbc 100644 --- a/nixos/modules/services/security/reaction.nix +++ b/nixos/modules/services/security/reaction.nix @@ -299,10 +299,8 @@ in environment.systemPackages = [ cfg.package ]; }; - meta.maintainers = - with lib.maintainers; - [ - ppom - ] - ++ lib.teams.ngi.members; + meta.teams = [ lib.teams.ngi ]; + meta.maintainers = with lib.maintainers; [ + ppom + ]; } diff --git a/nixos/modules/services/wayland/hypridle.nix b/nixos/modules/services/wayland/hypridle.nix index 4ccb126b56f2..29e77c6be34f 100644 --- a/nixos/modules/services/wayland/hypridle.nix +++ b/nixos/modules/services/wayland/hypridle.nix @@ -28,5 +28,5 @@ in }; }; - meta.maintainers = lib.teams.hyprland.members; + meta.teams = [ lib.teams.hyprland ]; } diff --git a/nixos/modules/services/web-apps/jitsi-meet.nix b/nixos/modules/services/web-apps/jitsi-meet.nix index b7993cfc46dc..18da068fa5c6 100644 --- a/nixos/modules/services/web-apps/jitsi-meet.nix +++ b/nixos/modules/services/web-apps/jitsi-meet.nix @@ -756,5 +756,5 @@ in }; meta.doc = ./jitsi-meet.md; - meta.maintainers = lib.teams.jitsi.members; + meta.teams = [ lib.teams.jitsi ]; } diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index cff0f6ff1872..d069480f3d70 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -1774,5 +1774,5 @@ in ); meta.doc = ./nextcloud.md; - meta.maintainers = lib.teams.nextcloud.members; + meta.teams = [ lib.teams.nextcloud ]; } diff --git a/nixos/modules/services/web-apps/peertube-runner.nix b/nixos/modules/services/web-apps/peertube-runner.nix index 9b126b7fa97c..4756569d9d9c 100644 --- a/nixos/modules/services/web-apps/peertube-runner.nix +++ b/nixos/modules/services/web-apps/peertube-runner.nix @@ -252,5 +252,5 @@ in }; }; - meta.maintainers = lib.teams.ngi.members; + meta.teams = [ lib.teams.ngi ]; } diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix index bc5c2b0273e7..df132f95e95c 100644 --- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix +++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix @@ -25,7 +25,7 @@ in { meta = { - maintainers = teams.enlightenment.members; + teams = [ teams.enlightenment ]; }; imports = [ diff --git a/nixos/modules/services/x11/desktop-managers/lumina.nix b/nixos/modules/services/x11/desktop-managers/lumina.nix index 74fabced3af3..a0cd79f7aae7 100644 --- a/nixos/modules/services/x11/desktop-managers/lumina.nix +++ b/nixos/modules/services/x11/desktop-managers/lumina.nix @@ -16,7 +16,7 @@ in { meta = { - maintainers = teams.lumina.members; + teams = [ teams.lumina ]; }; options = { diff --git a/nixos/modules/services/x11/desktop-managers/lxqt.nix b/nixos/modules/services/x11/desktop-managers/lxqt.nix index 1ccaa28f8642..8948eff23d46 100644 --- a/nixos/modules/services/x11/desktop-managers/lxqt.nix +++ b/nixos/modules/services/x11/desktop-managers/lxqt.nix @@ -15,7 +15,7 @@ in { meta = { - maintainers = teams.lxqt.members; + teams = [ teams.lxqt ]; }; options = { diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index 55da49799e31..2d53eb58f287 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -15,7 +15,7 @@ let in { meta = { - maintainers = teams.xfce.members; + teams = [ teams.xfce ]; }; imports = [ diff --git a/nixos/modules/services/x11/display-managers/account-service-util.nix b/nixos/modules/services/x11/display-managers/account-service-util.nix index 0f4d1c0729ad..697d5b9e940d 100644 --- a/nixos/modules/services/x11/display-managers/account-service-util.nix +++ b/nixos/modules/services/x11/display-managers/account-service-util.nix @@ -40,6 +40,6 @@ python3.pkgs.buildPythonApplication { ''; meta = { - maintainers = [ ] ++ lib.teams.pantheon.members; + teams = [ lib.teams.pantheon ]; }; } diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/lomiri.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/lomiri.nix index 387f485e2fea..d8db7706d89f 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/lomiri.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/lomiri.nix @@ -13,7 +13,7 @@ let in { - meta.maintainers = lib.teams.lomiri.members; + meta.teams = [ lib.teams.lomiri ]; options = { services.xserver.displayManager.lightdm.greeters.lomiri = { diff --git a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix index 05e03befdad6..3c61ba1556c8 100644 --- a/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix +++ b/nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix @@ -16,7 +16,7 @@ let in { meta = { - maintainers = [ ] ++ lib.teams.pantheon.members; + teams = [ lib.teams.pantheon ]; }; options = { diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix index 1ace9c1b8c1f..467207ecd92b 100644 --- a/nixos/modules/services/x11/display-managers/lightdm.nix +++ b/nixos/modules/services/x11/display-managers/lightdm.nix @@ -73,7 +73,7 @@ let in { meta = { - maintainers = [ ] ++ lib.teams.pantheon.members; + teams = [ lib.teams.pantheon ]; }; # Note: the order in which lightdm greeter modules are imported diff --git a/nixos/modules/services/x11/touchegg.nix b/nixos/modules/services/x11/touchegg.nix index def3dac738e0..cb1b9eb4adc8 100644 --- a/nixos/modules/services/x11/touchegg.nix +++ b/nixos/modules/services/x11/touchegg.nix @@ -13,7 +13,7 @@ let in { meta = { - maintainers = teams.pantheon.members; + teams = [ teams.pantheon ]; }; ###### interface diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix index a0c7e826223d..6386a57079f2 100644 --- a/nixos/modules/virtualisation/containers.nix +++ b/nixos/modules/virtualisation/containers.nix @@ -13,7 +13,7 @@ let in { meta = { - maintainers = [ ] ++ lib.teams.podman.members; + teams = [ lib.teams.podman ]; }; options.virtualisation.containers = { diff --git a/nixos/modules/virtualisation/cri-o.nix b/nixos/modules/virtualisation/cri-o.nix index ddaccf8199a1..68cfc2ccaad9 100644 --- a/nixos/modules/virtualisation/cri-o.nix +++ b/nixos/modules/virtualisation/cri-o.nix @@ -21,7 +21,7 @@ let in { meta = { - maintainers = teams.podman.members; + teams = [ teams.podman ]; }; options.virtualisation.cri-o = { diff --git a/nixos/modules/virtualisation/incus-agent.nix b/nixos/modules/virtualisation/incus-agent.nix index bfb9eeb75d33..34c08e8ee014 100644 --- a/nixos/modules/virtualisation/incus-agent.nix +++ b/nixos/modules/virtualisation/incus-agent.nix @@ -10,7 +10,7 @@ let in { meta = { - maintainers = lib.teams.lxc.members; + teams = [ lib.teams.lxc ]; }; options = { diff --git a/nixos/modules/virtualisation/incus-virtual-machine.nix b/nixos/modules/virtualisation/incus-virtual-machine.nix index 8899fc34bb85..d714b7fdc36c 100644 --- a/nixos/modules/virtualisation/incus-virtual-machine.nix +++ b/nixos/modules/virtualisation/incus-virtual-machine.nix @@ -10,7 +10,7 @@ let in { meta = { - maintainers = lib.teams.lxc.members; + teams = [ lib.teams.lxc ]; }; imports = [ diff --git a/nixos/modules/virtualisation/incus.nix b/nixos/modules/virtualisation/incus.nix index 7101407fb5bc..1b8908d0d3d6 100644 --- a/nixos/modules/virtualisation/incus.nix +++ b/nixos/modules/virtualisation/incus.nix @@ -176,7 +176,7 @@ let in { meta = { - maintainers = lib.teams.lxc.members; + teams = [ lib.teams.lxc ]; }; options = { diff --git a/nixos/modules/virtualisation/lxc-container.nix b/nixos/modules/virtualisation/lxc-container.nix index a6964b8b2c9a..ec206d6a5ece 100644 --- a/nixos/modules/virtualisation/lxc-container.nix +++ b/nixos/modules/virtualisation/lxc-container.nix @@ -7,7 +7,7 @@ { meta = { - maintainers = lib.teams.lxc.members; + teams = [ lib.teams.lxc ]; }; imports = [ diff --git a/nixos/modules/virtualisation/lxc-image-metadata.nix b/nixos/modules/virtualisation/lxc-image-metadata.nix index d27f476a59b8..1ac1bd2e4e5e 100644 --- a/nixos/modules/virtualisation/lxc-image-metadata.nix +++ b/nixos/modules/virtualisation/lxc-image-metadata.nix @@ -71,7 +71,7 @@ in ]; meta = { - maintainers = lib.teams.lxc.members; + teams = [ lib.teams.lxc ]; }; options = { diff --git a/nixos/modules/virtualisation/lxc-instance-common.nix b/nixos/modules/virtualisation/lxc-instance-common.nix index ff27b1931f8b..d3056be46fe3 100644 --- a/nixos/modules/virtualisation/lxc-instance-common.nix +++ b/nixos/modules/virtualisation/lxc-instance-common.nix @@ -2,7 +2,7 @@ { meta = { - maintainers = lib.teams.lxc.members; + teams = [ lib.teams.lxc ]; }; imports = [ diff --git a/nixos/modules/virtualisation/lxc.nix b/nixos/modules/virtualisation/lxc.nix index 903006a6dabf..eca2eb8115ab 100644 --- a/nixos/modules/virtualisation/lxc.nix +++ b/nixos/modules/virtualisation/lxc.nix @@ -13,7 +13,7 @@ in { meta = { - maintainers = lib.teams.lxc.members; + teams = [ lib.teams.lxc ]; }; options.virtualisation.lxc = { diff --git a/nixos/modules/virtualisation/lxcfs.nix b/nixos/modules/virtualisation/lxcfs.nix index f7347af19148..711bcf655d22 100644 --- a/nixos/modules/virtualisation/lxcfs.nix +++ b/nixos/modules/virtualisation/lxcfs.nix @@ -12,7 +12,7 @@ let in { meta = { - maintainers = lib.teams.lxc.members; + teams = [ lib.teams.lxc ]; }; ###### interface diff --git a/nixos/modules/virtualisation/podman/default.nix b/nixos/modules/virtualisation/podman/default.nix index 63cc4c5e3f63..c0acbe4cac3d 100644 --- a/nixos/modules/virtualisation/podman/default.nix +++ b/nixos/modules/virtualisation/podman/default.nix @@ -63,7 +63,7 @@ in ]; meta = { - maintainers = lib.teams.podman.members; + teams = [ lib.teams.podman ]; }; options.virtualisation.podman = { diff --git a/nixos/modules/virtualisation/podman/network-socket-ghostunnel.nix b/nixos/modules/virtualisation/podman/network-socket-ghostunnel.nix index d5b4bef5f0d9..962ca39b1598 100644 --- a/nixos/modules/virtualisation/podman/network-socket-ghostunnel.nix +++ b/nixos/modules/virtualisation/podman/network-socket-ghostunnel.nix @@ -35,5 +35,6 @@ in }; - meta.maintainers = lib.teams.podman.members ++ [ lib.maintainers.roberth ]; + meta.teams = [ lib.teams.podman ]; + meta.maintainers = [ lib.maintainers.roberth ]; } diff --git a/nixos/modules/virtualisation/podman/network-socket.nix b/nixos/modules/virtualisation/podman/network-socket.nix index 39434216d780..d3a49d204f8a 100644 --- a/nixos/modules/virtualisation/podman/network-socket.nix +++ b/nixos/modules/virtualisation/podman/network-socket.nix @@ -95,5 +95,6 @@ in networking.firewall.allowedTCPPorts = lib.optional (cfg.enable && cfg.openFirewall) cfg.port; }; - meta.maintainers = lib.teams.podman.members ++ [ lib.maintainers.roberth ]; + meta.teams = [ lib.teams.podman ]; + meta.maintainers = [ lib.maintainers.roberth ]; } diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix index bbd6bfb57751..2cc939631f84 100644 --- a/nixos/modules/virtualisation/xen-dom0.nix +++ b/nixos/modules/virtualisation/xen-dom0.nix @@ -937,6 +937,6 @@ in }; meta = { doc = ./xen.md; - maintainers = teams.xen.members; + teams = [ teams.xen ]; }; }