nixpkgs/maintainers/scripts/README.md
nicoo 1d7f14656a
maintainers-list.nix: Document (current) invitation process, add get-maintainer.sh (#267084)
* 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>
2023-12-08 02:57:38 +01:00

1.6 KiB
Raw Blame History

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.