mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-27 01:13:05 +00:00
1d7f14656a
* maintainer-list: Document automatic invites to @NixOS/nixpkgs-maintainers * maintainers/scripts: Add `get-maintainer.sh` Supports querying `maintainers-list.nix` by Nix attribute, email address, github name or id, matrix account, or name. * maintainers/scripts/get-maintainer.sh: More verbose help message * maintainers/scripts/get-maintainer.sh: Fix (some) `shellcheck` lints * maintainers/scripts: Add README * maintainers/scripts/get-maintainer.sh: Put inline documentation at the top of the file * maintainers/scripts: Document this is not a stable interfact to nixpkgs Co-authored-by: Silvan Mosberger <github@infinisil.com> * scripts/README: Add example for `get-maintainer.sh` --------- Co-authored-by: Silvan Mosberger <github@infinisil.com>
59 lines
1.6 KiB
Markdown
59 lines
1.6 KiB
Markdown
# 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
|