diff options
author | Dmitry Kalinkin <dmitry.kalinkin@gmail.com> | 2023-12-08 12:27:28 -0500 |
---|---|---|
committer | Dmitry Kalinkin <dmitry.kalinkin@gmail.com> | 2023-12-08 12:27:28 -0500 |
commit | 025a27814833fa8d12a858773c88da9d6b504048 (patch) | |
tree | e9a60eee1c16d04839564f67c2067102a48ffceb /maintainers | |
parent | 14cc6db256a9d786be7bad5016da49d6b3f72f56 (diff) | |
parent | 7a7925e7228ffc8965d7f0c6b6043941a01d6c2d (diff) | |
download | nixlib-025a27814833fa8d12a858773c88da9d6b504048.tar nixlib-025a27814833fa8d12a858773c88da9d6b504048.tar.gz nixlib-025a27814833fa8d12a858773c88da9d6b504048.tar.bz2 nixlib-025a27814833fa8d12a858773c88da9d6b504048.tar.lz nixlib-025a27814833fa8d12a858773c88da9d6b504048.tar.xz nixlib-025a27814833fa8d12a858773c88da9d6b504048.tar.zst nixlib-025a27814833fa8d12a858773c88da9d6b504048.zip |
Merge remote-tracking branch 'origin/master' into staging
Conflicts: pkgs/tools/networking/ofono/default.nix
Diffstat (limited to 'maintainers')
-rw-r--r-- | maintainers/README.md | 7 | ||||
-rw-r--r-- | maintainers/maintainer-list.nix | 69 | ||||
-rw-r--r-- | maintainers/scripts/README.md | 58 | ||||
-rwxr-xr-x | maintainers/scripts/get-maintainer.sh | 73 | ||||
-rw-r--r-- | maintainers/team-list.nix | 12 |
5 files changed, 207 insertions, 12 deletions
diff --git a/maintainers/README.md b/maintainers/README.md index 5bb9c58db024..f121ec756413 100644 --- a/maintainers/README.md +++ b/maintainers/README.md @@ -165,3 +165,10 @@ team after giving the existing members a few days to respond. *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. + + +# Maintainer scripts + +Various utility scripts, which are mainly useful for nixpkgs maintainers, +are available under `./scripts/`. See its [README](./scripts/README.md) +for further information. diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c56575012f09..aa09b1fe5e45 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -26,8 +26,10 @@ - `githubId` is your GitHub user ID, which can be found at `https://api.github.com/users/<userhandle>`, - `keys` is a list of your PGP/GPG key fingerprints. - Specifying a GitHub account ensures that you automatically get a review request on - pull requests that modify a package for which you are a maintainer. + Specifying a GitHub account ensures that you automatically: + - get invited to the @NixOS/nixpkgs-maintainers team ; + - once you are part of the @NixOS org, OfBorg will request you review + pull requests that modify a package for which you are a maintainer. `handle == github` is strongly preferred whenever `github` is an acceptable attribute name and is short and convenient. @@ -2266,6 +2268,15 @@ githubId = 16821405; name = "Ben Kuhn"; }; + benlemasurier = { + email = "ben@crypt.ly"; + github = "benlemasurier"; + githubId = 47993; + name = "Ben LeMasurier"; + keys = [{ + fingerprint = "0FD4 7407 EFD4 8FD8 8BF5 87B3 248D 430A E8E7 4189"; + }]; + }; benley = { email = "benley@gmail.com"; github = "benley"; @@ -4131,7 +4142,7 @@ email = "davidlewis@mac.com"; github = "oceanlewis"; githubId = 6754950; - name = "David Armstrong Lewis"; + name = "Ocean Armstrong Lewis"; }; davidcromp = { email = "davidcrompton1192@gmail.com"; @@ -5163,6 +5174,12 @@ name = "Edvin Källström"; githubId = 84442052; }; + ekimber = { + email = "ekimber@protonmail.com"; + github = "ekimber"; + name = "Edward Kimber"; + githubId = 99987; + }; ekleog = { email = "leo@gaspard.io"; matrix = "@leo:gaspard.ninja"; @@ -6828,6 +6845,12 @@ githubId = 6893840; name = "Yacine Hmito"; }; + gracicot = { + email = "gracicot42@gmail.com"; + github = "gracicot"; + githubId = 2906673; + name = "Guillaume Racicot"; + }; graham33 = { email = "graham@grahambennett.org"; github = "graham33"; @@ -6933,6 +6956,11 @@ githubId = 21156405; name = "GuangTao Zhang"; }; + guekka = { + github = "Guekka"; + githubId = 39066502; + name = "Guekka"; + }; guibert = { email = "david.guibert@gmail.com"; github = "dguibert"; @@ -10793,6 +10821,12 @@ fingerprint = "97A0 AE5E 03F3 499B 7D7A 65C6 76A4 1432 37EF 5817"; }]; }; + lukas-heiligenbrunner = { + email = "lukas.heiligenbrunner@gmail.com"; + github = "lukas-heiligenbrunner"; + githubId = 30468956; + name = "Lukas Heiligenbrunner"; + }; lukaswrz = { email = "lukas@wrz.one"; github = "lukaswrz"; @@ -11974,7 +12008,7 @@ }; milran = { email = "milranmike@protonmail.com"; - github = "milran"; + github = "wattmto"; githubId = 93639059; name = "Milran Mike"; }; @@ -11990,6 +12024,12 @@ githubId = 9799623; name = "Rick van Schijndel"; }; + mindstorms6 = { + email = "breland@bdawg.org"; + github = "mindstorms6"; + githubId = 92937; + name = "Breland Miley"; + }; minijackson = { email = "minijackson@riseup.net"; github = "minijackson"; @@ -15347,7 +15387,7 @@ revol-xut = { email = "revol-xut@protonmail.com"; name = "Tassilo Tanneberger"; - github = "revol-xut"; + github = "tanneberger"; githubId = 32239737; keys = [{ fingerprint = "91EB E870 1639 1323 642A 6803 B966 009D 57E6 9CC6"; @@ -16051,8 +16091,8 @@ }; SamirTalwar = { email = "lazy.git@functional.computer"; - github = "abstracte"; - githubId = 47852; + github = "SamirTalwar"; + githubId = 47582; name = "Samir Talwar"; }; samlich = { @@ -17343,13 +17383,12 @@ name = "Stel Abrego"; }; stepbrobd = { - name = "StepBroBD"; - github = "StepBroBD"; + name = "Yifei Sun"; + email = "ysun@hey.com"; + github = "stepbrobd"; githubId = 81826728; - email = "Hi@StepBroBD.com"; - matrix = "@stepbrobd:matrix.org"; keys = [{ - fingerprint = "5D8B FA8B 286A C2EF 6EE4 8598 F742 B72C 8926 1A51"; + fingerprint = "AC7C 52E6 BA2F E8DE 8F0F 5D78 D973 170F 9B86 DB70"; }]; }; stephank = { @@ -19228,6 +19267,12 @@ githubId = 118959; name = "VinyMeuh"; }; + viperML = { + email = "ayatsfer@gmail.com"; + github = "viperML"; + githubId = 11395853; + name = "Fernando Ayats"; + }; viraptor = { email = "nix@viraptor.info"; github = "viraptor"; diff --git a/maintainers/scripts/README.md b/maintainers/scripts/README.md new file mode 100644 index 000000000000..2b99a4e75114 --- /dev/null +++ b/maintainers/scripts/README.md @@ -0,0 +1,58 @@ +# Maintainer scripts + +This folder contains various executable scripts for nixpkgs maintainers, +and supporting data or nixlang files as needed. +These scripts generally aren't a stable interface and may changed or be removed. + +What follows is a (very incomplete) overview of available scripts. + + +## Metadata + +### `get-maintainer.sh` + +`get-maintainer.sh [selector] value` returns a JSON object describing +a given nixpkgs maintainer, equivalent to `lib.maintainers.${x} // { handle = x; }`. + +This allows looking up a maintainer's attrset (including GitHub and Matrix +handles, email address etc.) based on any of their handles, more correctly and +robustly than text search through `maintainers-list.nix`. + +``` +❯ ./get-maintainer.sh nicoo +{ + "email": "nicoo@debian.org", + "github": "nbraud", + "githubId": 1155801, + "keys": [ + { + "fingerprint": "E44E 9EA5 4B8E 256A FB73 49D3 EC9D 3708 72BC 7A8C" + } + ], + "name": "nicoo", + "handle": "nicoo" +} + +❯ ./get-maintainer.sh name 'Silvan Mosberger' +{ + "email": "contact@infinisil.com", + "github": "infinisil", + "githubId": 20525370, + "keys": [ + { + "fingerprint": "6C2B 55D4 4E04 8266 6B7D DA1A 422E 9EDA E015 7170" + } + ], + "matrix": "@infinisil:matrix.org", + "name": "Silvan Mosberger", + "handle": "infinisil" +} +``` + +The maintainer is designated by a `selector` which must be one of: +- `handle` (default): the maintainer's attribute name in `lib.maintainers`; +- `email`, `name`, `github`, `githubId`, `matrix`, `name`: + attributes of the maintainer's object, matched exactly; + see [`maintainer-list.nix`] for the fields' definition. + +[`maintainer-list.nix`]: ../maintainer-list.nix diff --git a/maintainers/scripts/get-maintainer.sh b/maintainers/scripts/get-maintainer.sh new file mode 100755 index 000000000000..3061d2ccc72f --- /dev/null +++ b/maintainers/scripts/get-maintainer.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p jq ncurses +# shellcheck shell=bash + +# Get a nixpkgs maintainer's metadata as a JSON object +# see HELP_MESSAGE just below, or README.md. + +set -euo pipefail + +declare -A SELECTORS=( [handle]= [email]= [github]= [githubId]= [matrix]= [name]= ) +HELP_MESSAGE="usage: '$0' [selector] value +examples: + get-maintainer.sh nicoo + get-maintainer.sh githubId 1155801 + +\`selector\` defaults to 'handle', can be one of: + ${!SELECTORS[*]} +" + +MAINTAINERS_DIR="$(dirname "$0")/.." + +die() { + tput setaf 1 # red + echo "'$0': $*" + tput setaf 0 # back to black + exit 1 +} + +listAsJSON() { + nix-instantiate --eval --strict --json "${MAINTAINERS_DIR}/maintainer-list.nix" +} + +parseArgs() { + [ $# -gt 0 -a $# -lt 3 ] || { + echo "$HELP_MESSAGE" + die "invalid number of arguments (must be 1 or 2)" + } + + if [ $# -eq 1 ]; then + selector=handle + else + selector="$1" + shift + fi + [ -z "${SELECTORS[$selector]-n}" ] || { + echo "Valid selectors are:" "${!SELECTORS[@]}" >&2 + die "invalid selector '$selector'" + } + + value="$1" + shift +} + +query() { + # explode { a: A, b: B, ... } into A + {handle: a}, B + {handle: b}, ... + local explode="to_entries[] | .value + { \"handle\": .key }" + + # select matching items from the list + # TODO(nicoo): Support approximate matching for `name` ? + local select + case "$selector" in + githubId) + select="select(.${selector} == $value)" + ;; + *) + select="select(.${selector} == \"$value\")" + esac + + echo "$explode | $select" +} + +parseArgs "$@" +listAsJSON | jq -e "$(query)" diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index 389aca1123b6..b872142c313c 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -562,6 +562,18 @@ with lib.maintainers; { enableFeatureFreezePing = true; }; + lxc = { + members = [ + aanderse + adamcstephens + jnsgruk + megheaiulian + mkg20001 + ]; + scope = "All things linuxcontainers. LXC, Incus, LXD and related packages."; + shortName = "lxc"; + }; + lxqt = { members = [ romildo |