lib.teams: Sync from GitHub (members/shortName/scope) (#450864)
This commit is contained in:
@@ -158,13 +158,17 @@ If the team lists no specific membership policy, feel free to merge changes to t
|
||||
> [!IMPORTANT]
|
||||
> If a team says it is a closed group, do not merge additions to the team without an approval by at least one existing member.
|
||||
|
||||
A corresponding GitHub team can be created by any org member.
|
||||
#### Synced GitHub teams
|
||||
|
||||
As an alternative to tracking team members in `team-list.nix`, a corresponding GitHub team can be created by any org member and its members subsequently managed directly on GitHub.
|
||||
When creating the team it should be created with the `nixpkgs-maintainers` team as parent.
|
||||
Once approved, the team will have the right privileges to be pinged and requested for review in Nixpkgs.
|
||||
|
||||
> [!TIP]
|
||||
> The team name should be as short as possible; because it is nested under the maintainers group, no -maintainers suffix is needed.
|
||||
|
||||
After the first [weekly team sync](../.github/workflows/team-sync.yml) with the new team, it's then also possible to link it to the entry in `team-list.nix` by setting its `github` field to the GitHub team name.
|
||||
|
||||
# Maintainer scripts
|
||||
|
||||
Various utility scripts, which are mainly useful for nixpkgs maintainers, are available under `./scripts/`.
|
||||
|
||||
59
maintainers/computed-team-list.nix
Normal file
59
maintainers/computed-team-list.nix
Normal file
@@ -0,0 +1,59 @@
|
||||
# Extends ./team-list.nix with synced GitHub information from ./github-teams.json
|
||||
{ lib }:
|
||||
let
|
||||
githubTeams = lib.importJSON ./github-teams.json;
|
||||
teams = import ./team-list.nix { inherit lib; };
|
||||
|
||||
# A fast maintainer id lookup table
|
||||
maintainersById = lib.pipe lib.maintainers [
|
||||
lib.attrValues
|
||||
(lib.groupBy (attrs: toString attrs.githubId))
|
||||
(lib.mapAttrs (_: lib.head))
|
||||
];
|
||||
|
||||
maintainerSetToList =
|
||||
githubTeam:
|
||||
lib.mapAttrsToList (
|
||||
login: id:
|
||||
maintainersById.${toString id}
|
||||
or (throw "lib.teams: No maintainer entry for GitHub user @${login} who's part of the @NixOS/${githubTeam} team")
|
||||
);
|
||||
|
||||
in
|
||||
# TODO: Consider automatically exposing all GitHub teams under `lib.teams`,
|
||||
# so that no manual PRs are necessary to add such teams anymore
|
||||
lib.mapAttrs (
|
||||
name: attrs:
|
||||
if attrs ? github then
|
||||
let
|
||||
githubTeam =
|
||||
githubTeams.${attrs.github}
|
||||
or (throw "lib.teams.${name}: Corresponding GitHub team ${attrs.github} not known yet, make sure to create it and wait for the regular team sync");
|
||||
in
|
||||
# TODO: Consider specifying `githubId` in team-list.nix and inferring `github` from it (or even dropping it)
|
||||
# This would make renames easier because no additional place needs to keep track of them.
|
||||
# Though in a future where all Nixpkgs GitHub teams are automatically exposed under `lib.teams`,
|
||||
# this would also not be an issue anymore.
|
||||
assert lib.assertMsg (!attrs ? githubId)
|
||||
"lib.teams.${name}: Both `githubId` and `github` is set, but the former is synced from the latter";
|
||||
assert lib.assertMsg (!attrs ? shortName)
|
||||
"lib.teams.${name}: Both `shortName` and `github` is set, but the former is synced from the latter";
|
||||
assert lib.assertMsg (
|
||||
!attrs ? scope
|
||||
) "lib.teams.${name}: Both `scope` and `github` is set, but the former is synced from the latter";
|
||||
assert lib.assertMsg (
|
||||
!attrs ? members
|
||||
) "lib.teams.${name}: Both `members` and `github` is set, but the former is synced from the latter";
|
||||
attrs
|
||||
// {
|
||||
githubId = githubTeam.id;
|
||||
shortName = githubTeam.name;
|
||||
scope = githubTeam.description;
|
||||
members =
|
||||
maintainerSetToList attrs.github githubTeam.maintainers
|
||||
++ maintainerSetToList attrs.github githubTeam.members;
|
||||
githubMaintainers = maintainerSetToList attrs.github githubTeam.maintainers;
|
||||
}
|
||||
else
|
||||
attrs
|
||||
) teams
|
||||
1000
maintainers/github-teams.json
Normal file
1000
maintainers/github-teams.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,11 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i perl -p perl -p perlPackages.JSON perlPackages.LWPUserAgent perlPackages.LWPProtocolHttps perlPackages.TermReadKey
|
||||
#!nix-shell -i perl -p perl -p perlPackages.JSON github-cli
|
||||
|
||||
# This script generates a list of teams to ping for the Feature Freeze announcement on Discourse.
|
||||
# It's intended to be used by Release Managers before creating such posts.
|
||||
#
|
||||
# The script interactively reads a GitHub username and a corresponding GitHub Personal Access token.
|
||||
# This is required to access the GitHub Teams API so the token needs at least the read:org privilege.
|
||||
# The script uses the credentials from the GitHub CLI (gh)
|
||||
# This is required to access the GitHub Teams API so it needs at least the read:org privilege.
|
||||
|
||||
## no critic (InputOutput::RequireCheckedSyscalls, InputOutput::ProhibitBacktickOperators)
|
||||
use strict;
|
||||
@@ -14,39 +14,21 @@ use Carp;
|
||||
use Cwd 'abs_path';
|
||||
use File::Basename;
|
||||
use JSON qw(decode_json);
|
||||
use LWP::UserAgent;
|
||||
use Term::ReadKey qw(ReadLine ReadMode);
|
||||
|
||||
sub github_team_members {
|
||||
my ($team_name, $username, $token) = @_;
|
||||
my ($team_name) = @_;
|
||||
my @ret;
|
||||
|
||||
my $req = HTTP::Request->new('GET', "https://api.github.com/orgs/NixOS/teams/$team_name/members", [ 'Accept' => 'application/vnd.github.v3+json' ]);
|
||||
$req->authorization_basic($username, $token);
|
||||
my $response = LWP::UserAgent->new->request($req);
|
||||
|
||||
if ($response->is_success) {
|
||||
my $content = decode_json($response->decoded_content);
|
||||
foreach (@{$content}) {
|
||||
push @ret, $_->{'login'};
|
||||
}
|
||||
} else {
|
||||
print {*STDERR} "!! Requesting members of GitHub Team '$team_name' failed: " . $response->status_line;
|
||||
my $content = decode_json(`gh api orgs/NixOS/teams/$team_name/members`);
|
||||
foreach (@{$content}) {
|
||||
push @ret, $_->{'login'};
|
||||
}
|
||||
|
||||
return \@ret;
|
||||
}
|
||||
|
||||
# Read GitHub credentials
|
||||
print {*STDERR} 'GitHub username: ';
|
||||
my $github_user = ReadLine(0);
|
||||
ReadMode('noecho');
|
||||
print {*STDERR} 'GitHub personal access token (no echo): ';
|
||||
my $github_token = ReadLine(0);
|
||||
ReadMode('restore');
|
||||
print {*STDERR} "\n";
|
||||
chomp $github_user;
|
||||
chomp $github_token;
|
||||
`gh auth status` or die "`gh` comes from `pkgs.github-cli`, or in one command:
|
||||
nix-shell -p github-cli --run 'gh auth login'\n";
|
||||
|
||||
# Read nix output
|
||||
my $nix_version = `nix --version`;
|
||||
@@ -60,7 +42,6 @@ if ($nix_version =~ m/2[.]3[.]/msx) {
|
||||
my $data = decode_json($out);
|
||||
|
||||
# Process teams
|
||||
print {*STDERR} "\n";
|
||||
while (my ($team_nix_key, $team_config) = each %{$data}) {
|
||||
# Ignore teams that don't want to be or can't be pinged
|
||||
if (not defined $team_config->{enableFeatureFreezePing} or not $team_config->{enableFeatureFreezePing}) {
|
||||
@@ -71,12 +52,12 @@ while (my ($team_nix_key, $team_config) = each %{$data}) {
|
||||
next;
|
||||
}
|
||||
# Team name
|
||||
print {*STDERR} "$team_config->{shortName}:";
|
||||
print {*STDOUT} "$team_config->{shortName}:";
|
||||
# GitHub Teams
|
||||
my @github_members;
|
||||
if (defined $team_config->{github}) {
|
||||
print {*STDERR} " \@NixOS/$team_config->{github}";
|
||||
push @github_members, @{github_team_members($team_config->{github}, $github_user, $github_token)};
|
||||
print {*STDOUT} " \@NixOS/$team_config->{github}";
|
||||
push @github_members, @{github_team_members($team_config->{github})};
|
||||
}
|
||||
my %github_members = map { $_ => 1 } @github_members;
|
||||
# Members
|
||||
@@ -88,9 +69,11 @@ while (my ($team_nix_key, $team_config) = each %{$data}) {
|
||||
if (defined $github_members{$github_handle}) {
|
||||
next;
|
||||
}
|
||||
print {*STDERR} " \@$github_handle";
|
||||
print {*STDOUT} " \@$github_handle";
|
||||
}
|
||||
}
|
||||
|
||||
print {*STDERR} "\n";
|
||||
print {*STDOUT} "\n";
|
||||
}
|
||||
|
||||
print {*STDOUT} "Everyone else: \@NixOS/nixpkgs-committers\n";
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
/*
|
||||
List of maintainer teams.
|
||||
name = {
|
||||
# Required
|
||||
members = [ maintainer1 maintainer2 ];
|
||||
scope = "Maintain foo packages.";
|
||||
shortName = "foo";
|
||||
# Optional
|
||||
enableFeatureFreezePing = true;
|
||||
github = "my-subsystem";
|
||||
};
|
||||
@@ -18,7 +16,12 @@
|
||||
- `enableFeatureFreezePing` will ping this team during the Feature Freeze announcements on releases
|
||||
- There is limited mention capacity in a single post, so this should be reserved for critical components
|
||||
or larger ecosystems within nixpkgs.
|
||||
- `github` will ping the specified GitHub team as well
|
||||
- `github` will ping the specified GitHub team and sync the `members`, `scope` and `shortName` fields from it
|
||||
- `githubId` will be set automatically based on `github`
|
||||
|
||||
If `github` is specified and you'd like to be added to the team, contact one of the `githubMaintainers` of the team:
|
||||
|
||||
nix eval -f lib teams.someTeam.githubMaintainers --json | jq
|
||||
|
||||
More fields may be added in the future.
|
||||
|
||||
@@ -56,16 +59,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
android = {
|
||||
members = [
|
||||
adrian-gierakowski
|
||||
hadilq
|
||||
johnrtitor
|
||||
numinit
|
||||
RossComputerGuy
|
||||
];
|
||||
scope = "Maintain Android-related tooling in nixpkgs.";
|
||||
github = "android";
|
||||
shortName = "Android";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -106,20 +100,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
beam = {
|
||||
members = [
|
||||
adamcstephens
|
||||
ankhers
|
||||
Br1ght0ne
|
||||
DianaOlympos
|
||||
gleber
|
||||
happysalada
|
||||
minijackson
|
||||
yurrriq
|
||||
savtrip
|
||||
];
|
||||
github = "beam";
|
||||
scope = "Maintain BEAM-related packages and modules.";
|
||||
shortName = "BEAM";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -193,34 +174,11 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
categorization = {
|
||||
members = [
|
||||
aleksana
|
||||
fgaz
|
||||
getpsyched
|
||||
lyndeno
|
||||
natsukium
|
||||
philiptaron
|
||||
pyrotelekinetic
|
||||
raskin
|
||||
sigmasquadron
|
||||
tomodachi94
|
||||
];
|
||||
github = "categorization";
|
||||
scope = "Maintain the categorization system in Nixpkgs, per RFC 146. This team has authority over all categorization issues in Nixpkgs.";
|
||||
shortName = "Categorization";
|
||||
};
|
||||
|
||||
ci = {
|
||||
members = [
|
||||
MattSturgeon
|
||||
mic92
|
||||
philiptaron
|
||||
wolfgangwalther
|
||||
zowoq
|
||||
];
|
||||
github = "nixpkgs-ci";
|
||||
scope = "Maintain Nixpkgs' in-tree Continuous Integration, including GitHub Actions.";
|
||||
shortName = "CI";
|
||||
};
|
||||
|
||||
cinnamon = {
|
||||
@@ -237,7 +195,6 @@ with lib.maintainers;
|
||||
members = [ floriansanderscc ];
|
||||
scope = "Maintain Clever Cloud related packages.";
|
||||
shortName = "CleverCloud";
|
||||
github = "CleverCloud";
|
||||
};
|
||||
|
||||
cloudposse = {
|
||||
@@ -263,21 +220,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
cosmic = {
|
||||
members = [
|
||||
a-kenji
|
||||
ahoneybun
|
||||
drakon64
|
||||
griffi-gh
|
||||
HeitorAugustoLN
|
||||
nyabinary
|
||||
pandapip1
|
||||
qyliss
|
||||
thefossguy
|
||||
michaelBelsanti
|
||||
];
|
||||
github = "cosmic";
|
||||
shortName = "cosmic";
|
||||
scope = "Maintain the COSMIC DE and related packages.";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -291,15 +234,6 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
cuda = {
|
||||
members = [
|
||||
connorbaker
|
||||
GaetanLepage
|
||||
prusnak
|
||||
samuela
|
||||
SomeoneSerge
|
||||
];
|
||||
scope = "Maintain CUDA-enabled packages";
|
||||
shortName = "Cuda";
|
||||
github = "cuda-maintainers";
|
||||
};
|
||||
|
||||
@@ -316,14 +250,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
darwin = {
|
||||
members = [
|
||||
emily
|
||||
reckenrode
|
||||
toonn
|
||||
];
|
||||
github = "darwin-core";
|
||||
scope = "Maintain core platform support and packages for macOS and other Apple platforms.";
|
||||
shortName = "Darwin";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -367,10 +294,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
docs = {
|
||||
members = [ ];
|
||||
github = "documentation-team";
|
||||
scope = "Maintain nixpkgs/NixOS documentation and tools for building it.";
|
||||
shortName = "Docs";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -411,31 +335,11 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
enlightenment = {
|
||||
members = [ romildo ];
|
||||
github = "enlightenment";
|
||||
scope = "Maintain Enlightenment desktop environment and related packages.";
|
||||
shortName = "Enlightenment";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
# Dummy group for the "everyone else" section
|
||||
feature-freeze-everyone-else = {
|
||||
members = [ ];
|
||||
github = "nixpkgs-committers";
|
||||
scope = "Dummy team for the #everyone else' section during feture freezes, not to be used as package maintainers!";
|
||||
shortName = "Everyone else";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
flutter = {
|
||||
members = [
|
||||
mkg20001
|
||||
RossComputerGuy
|
||||
FlafyDev
|
||||
hacker1024
|
||||
];
|
||||
scope = "Maintain Flutter and Dart-related packages and build tools";
|
||||
shortName = "flutter";
|
||||
enableFeatureFreezePing = false;
|
||||
github = "flutter";
|
||||
};
|
||||
@@ -496,18 +400,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
geospatial = {
|
||||
members = [
|
||||
autra
|
||||
imincik
|
||||
l0b0
|
||||
nh2
|
||||
nialov
|
||||
sikmir
|
||||
willcohen
|
||||
];
|
||||
github = "geospatial";
|
||||
scope = "Maintain geospatial, remote sensing and OpenStreetMap software.";
|
||||
shortName = "Geospatial";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -524,15 +417,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
gnome = {
|
||||
members = [
|
||||
bobby285271
|
||||
hedning
|
||||
jtojnar
|
||||
dasj19
|
||||
];
|
||||
github = "gnome";
|
||||
scope = "Maintain GNOME desktop environment and platform.";
|
||||
shortName = "GNOME";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -547,17 +432,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
golang = {
|
||||
members = [
|
||||
kalbasit
|
||||
katexochen
|
||||
mic92
|
||||
zowoq
|
||||
qbit
|
||||
mfrw
|
||||
];
|
||||
github = "golang";
|
||||
scope = "Maintain Golang compilers.";
|
||||
shortName = "Go";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -573,15 +448,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
haskell = {
|
||||
members = [
|
||||
cdepillabout
|
||||
maralorn
|
||||
sternenseemann
|
||||
wolfgangwalther
|
||||
];
|
||||
github = "haskell";
|
||||
scope = "Maintain Haskell packages and infrastructure.";
|
||||
shortName = "Haskell";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -607,16 +474,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
hyprland = {
|
||||
members = [
|
||||
donovanglover
|
||||
fufexan
|
||||
johnrtitor
|
||||
khaneliman
|
||||
NotAShelf
|
||||
];
|
||||
github = "hyprland";
|
||||
scope = "Maintain Hyprland compositor and ecosystem";
|
||||
shortName = "Hyprland";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -638,14 +496,6 @@ with lib.maintainers;
|
||||
|
||||
java = {
|
||||
github = "java";
|
||||
members = [
|
||||
chayleaf
|
||||
fliegendewurst
|
||||
infinidoge
|
||||
tomodachi94
|
||||
];
|
||||
shortName = "Java";
|
||||
scope = "Maintainers of the Nixpkgs Java ecosystem (JDK, JVM, Java, Gradle, Maven, Ant, and adjacent projects)";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -684,17 +534,6 @@ with lib.maintainers;
|
||||
|
||||
k3s = {
|
||||
github = "k3s";
|
||||
members = [
|
||||
euank
|
||||
frederictobiasc
|
||||
heywoodlh
|
||||
marcusramberg
|
||||
mic92
|
||||
rorosen
|
||||
wrmilling
|
||||
];
|
||||
scope = "Maintain K3s package, NixOS module, NixOS tests, update script";
|
||||
shortName = "K3s";
|
||||
};
|
||||
|
||||
kodi = {
|
||||
@@ -746,16 +585,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
lisp = {
|
||||
members = [
|
||||
raskin
|
||||
lukego
|
||||
nagy
|
||||
uthar
|
||||
hraban
|
||||
];
|
||||
github = "lisp";
|
||||
scope = "Maintain the Lisp ecosystem.";
|
||||
shortName = "lisp";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -773,19 +603,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
llvm = {
|
||||
members = [
|
||||
dtzWill
|
||||
emily
|
||||
ericson2314
|
||||
lovek323
|
||||
qyliss
|
||||
RossComputerGuy
|
||||
rrbutani
|
||||
sternenseemann
|
||||
];
|
||||
github = "llvm";
|
||||
scope = "Maintain LLVM package sets and related packages";
|
||||
shortName = "LLVM";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -797,23 +615,12 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
loongarch64 = {
|
||||
members = [
|
||||
aleksana
|
||||
Cryolitia
|
||||
darkyzhou
|
||||
dramforever
|
||||
wegank
|
||||
];
|
||||
github = "loongarch64";
|
||||
scope = "Maintain LoongArch64 related packages and code";
|
||||
shortName = "LoongArch64";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
lua = {
|
||||
github = "lua";
|
||||
scope = "Maintain the lua ecosystem.";
|
||||
shortName = "lua";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -828,10 +635,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
lumina = {
|
||||
members = [ romildo ];
|
||||
github = "lumina";
|
||||
scope = "Maintain lumina desktop environment and related packages.";
|
||||
shortName = "Lumina";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -847,23 +651,12 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
lxqt = {
|
||||
members = [ romildo ];
|
||||
github = "lxqt";
|
||||
scope = "Maintain LXQt desktop environment and related packages.";
|
||||
shortName = "LXQt";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
marketing = {
|
||||
members = [
|
||||
djacu
|
||||
flyfloh
|
||||
thilobillerbeck
|
||||
tomberek
|
||||
];
|
||||
github = "marketing-team";
|
||||
scope = "Marketing of Nix/NixOS/nixpkgs.";
|
||||
shortName = "Marketing";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -927,15 +720,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
neovim = {
|
||||
members = [
|
||||
GaetanLepage
|
||||
khaneliman
|
||||
mrcjkb
|
||||
perchun
|
||||
];
|
||||
github = "neovim";
|
||||
scope = "Maintain the vim and neovim text editors and related packages.";
|
||||
shortName = "Vim/Neovim";
|
||||
};
|
||||
|
||||
nextcloud = {
|
||||
@@ -993,13 +778,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
ocaml = {
|
||||
members = [
|
||||
alizter
|
||||
redianthus
|
||||
];
|
||||
github = "ocaml";
|
||||
scope = "Maintain the OCaml compiler and package set.";
|
||||
shortName = "OCaml";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -1031,13 +810,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
pantheon = {
|
||||
members = [
|
||||
davidak
|
||||
bobby285271
|
||||
];
|
||||
github = "pantheon";
|
||||
scope = "Maintain Pantheon desktop environment and platform.";
|
||||
shortName = "Pantheon";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -1053,26 +826,12 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
php = {
|
||||
members = [
|
||||
aanderse
|
||||
ma27
|
||||
piotrkwiecinski
|
||||
talyz
|
||||
];
|
||||
github = "php";
|
||||
scope = "Maintain PHP related packages and extensions.";
|
||||
shortName = "PHP";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
podman = {
|
||||
members = [
|
||||
saschagrunert
|
||||
vdemeester
|
||||
];
|
||||
github = "podman";
|
||||
scope = "Maintain Podman and CRI-O related packages and modules.";
|
||||
shortName = "Podman";
|
||||
};
|
||||
|
||||
postgres = {
|
||||
@@ -1097,18 +856,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
qt-kde = {
|
||||
members = [
|
||||
ilya-fedin
|
||||
k900
|
||||
LunNova
|
||||
mjm
|
||||
nickcao
|
||||
SuperSandro2000
|
||||
ttuegel
|
||||
];
|
||||
github = "qt-kde";
|
||||
scope = "Maintain the Qt framework, KDE application suite, Plasma desktop environment and related projects.";
|
||||
shortName = "Qt / KDE";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -1134,43 +882,12 @@ with lib.maintainers;
|
||||
shortName = "Red Code Labs";
|
||||
};
|
||||
|
||||
release = {
|
||||
members = [ ];
|
||||
github = "nixos-release-managers";
|
||||
scope = "Manage the current nixpkgs/NixOS release.";
|
||||
shortName = "Release";
|
||||
};
|
||||
|
||||
rocm = {
|
||||
members = [
|
||||
Flakebi
|
||||
GZGavinZhao
|
||||
LunNova
|
||||
mschwaig
|
||||
];
|
||||
github = "rocm";
|
||||
scope = "Maintain ROCm and related packages.";
|
||||
shortName = "ROCm";
|
||||
};
|
||||
|
||||
ruby = {
|
||||
members = [ ];
|
||||
scope = "Maintain the Ruby interpreter and related packages.";
|
||||
shortName = "Ruby";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
rust = {
|
||||
members = [
|
||||
figsoda
|
||||
mic92
|
||||
tjni
|
||||
winter
|
||||
zowoq
|
||||
];
|
||||
github = "rust";
|
||||
scope = "Maintain the Rust compiler toolchain and nixpkgs integration.";
|
||||
shortName = "Rust";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -1185,16 +902,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
sdl = {
|
||||
members = [
|
||||
evythedemon
|
||||
grimmauld
|
||||
jansol
|
||||
marcin-serwin
|
||||
pbsds
|
||||
];
|
||||
github = "SDL";
|
||||
scope = "Maintain core SDL libraries.";
|
||||
shortName = "SDL";
|
||||
github = "sdl";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -1221,16 +929,6 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
stdenv = {
|
||||
members = [
|
||||
artturin
|
||||
emily
|
||||
ericson2314
|
||||
philiptaron
|
||||
reckenrode
|
||||
RossComputerGuy
|
||||
];
|
||||
scope = "Maintain the standard environment and its surrounding logic.";
|
||||
shortName = "stdenv";
|
||||
enableFeatureFreezePing = true;
|
||||
github = "stdenv";
|
||||
};
|
||||
@@ -1267,16 +965,7 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
systemd = {
|
||||
members = [
|
||||
flokli
|
||||
arianvp
|
||||
elvishjerricco
|
||||
aanderse
|
||||
grimmauld
|
||||
];
|
||||
github = "systemd";
|
||||
scope = "Maintain systemd for NixOS.";
|
||||
shortName = "systemd";
|
||||
enableFeatureFreezePing = true;
|
||||
};
|
||||
|
||||
@@ -1326,14 +1015,6 @@ with lib.maintainers;
|
||||
};
|
||||
|
||||
xen = {
|
||||
members = [
|
||||
hehongbo
|
||||
lach
|
||||
sigmasquadron
|
||||
rane
|
||||
];
|
||||
scope = "Maintain the Xen Project Hypervisor and the related tooling ecosystem.";
|
||||
shortName = "Xen Project Hypervisor";
|
||||
enableFeatureFreezePing = true;
|
||||
github = "xen-project";
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user