nixpkgs/maintainers/scripts
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
..
convert-to-import-cargo-lock maintainers/scripts/convert-to-import-cargo-lock: fetch submodules 2023-03-26 00:02:16 +01:00
doc
haskell scripts/haskell/hydra-report: use inline emoji 2023-12-03 13:06:38 +01:00
all-tarballs.nix release.nix: namespace bootstrap tools with triples 2023-10-07 19:38:01 +00:00
build.nix
check-hydra-by-maintainer.nix maintainers/scripts/check-hydra-by-maintainer: remove pkgs.lib use 2023-05-22 23:28:53 +02:00
check-maintainer-github-handles.sh maintainers/scripts: Lint check-maintainer-github-handles.sh (#147424) 2021-12-17 23:45:48 +02:00
check-maintainers-sorted.nix maintainers: add script and workflows to check sortedness 2023-03-15 11:07:54 +01:00
convert-to-import-cargo-lock.sh maintainers/scripts/convert-to-import-cargo-lock: init 2023-03-26 00:02:15 +01:00
copy-tarballs.pl Merge pull request #223261 from xworld21/copy-tarballs-use-all-urls 2023-05-11 16:20:07 +02:00
db-to-md.sh doc: separate manpage URLs from the Pandoc filter 2023-01-02 14:11:22 +01:00
debian-patches.sh maintainers/scripts: Use Bash shebang line for files with bashisms 2022-11-29 19:52:21 +13:00
dep-licenses.sh stdenv, dep-licenses.sh: do not skip handling of other exit traps 2022-02-20 16:27:24 +01:00
eval-release.nix eval-release.nix: Tolerate null 2023-01-31 15:12:04 +01:00
eval-release.sh maintainers/scripts: Use Bash shebang line for files with bashisms 2022-11-29 19:52:21 +13:00
feature-freeze-teams.pl maintainer/scripts/feature-freeze-teams: Fix HTTP status line log 2022-10-03 04:03:12 +02:00
fetch-kde-qt.sh maintainers/scripts/fetch-kde-qt.sh: fix handling of fallback file urls 2023-03-16 20:58:56 +08:00
find-tarballs.nix copy-tarballs: use all the urls of each file 2023-04-05 21:05:22 +01:00
fix-maintainers.pl maintainers/fix-maintainers.pl: error on unset GH_TOKEN 2023-10-09 09:05:38 -04:00
get-maintainer.sh maintainers-list.nix: Document (current) invitation process, add get-maintainer.sh (#267084) 2023-12-08 02:57:38 +01:00
hydra_eval_check
hydra-eval-failures.py
luarocks-config.lua update-luarocks-package: fix mirrors 2022-06-13 11:17:36 +02:00
luarocks-packages.csv luaPackages.fzy: init at 1.0-1 2023-12-04 22:00:06 +01:00
mdize-module.sh maintainers/mdize-module: Add known limitations 2022-07-05 19:15:11 +02:00
nix-call-package
nix-diff.sh
nix-generate-from-cpan.nix nix-generate-from-cpan: deprecate phases 2023-01-21 21:13:22 +01:00
nix-generate-from-cpan.pl nix-generate-from-cpan: generate SRI hashes 2023-07-16 15:43:23 +01:00
nixpkgs-lint.nix
nixpkgs-lint.pl
patchelf-hints.sh treewide: stdenv.glibc -> glibc 2022-05-25 15:51:20 +03:00
pluginupdate.py pluginupdate.py: format date differently 2023-11-15 22:23:30 -05:00
README.md maintainers-list.nix: Document (current) invitation process, add get-maintainer.sh (#267084) 2023-12-08 02:57:38 +01:00
rebuild-amount.sh treewide: fix bash exit handlers 2022-07-02 16:13:12 +02:00
remove-old-aliases.py maintainers/scripts/remove-old-aliases: Drop pkgs. prefix if present 2023-09-12 11:41:36 +00:00
sha-to-sri.py maintainers/scripts/sha256-to-SRI.py: rename to sha-to-sri.py 2023-09-22 18:37:24 +02:00
update-channel-branches.sh maintainers/scripts: Use Bash shebang line for files with bashisms 2022-11-29 19:52:21 +13:00
update-dotnet-lockfiles.nix buildDotnetModule: make fetch-deps find output path automatically 2023-06-24 19:13:16 -03:00
update-octave-packages octavePackages: add automatic updating script based on Python's 2023-03-15 15:58:01 +02:00
update-octave-shell.nix octavePackages: add automatic updating script based on Python's 2023-03-15 15:58:01 +02:00
update-python-libraries update-python-libraries: Add support for fetchgit 2023-02-27 02:21:07 +00:00
update-redirected-urls.sh
update-ruby-packages
update.nix maintainers/scripts/update.nix: Add comment, remove TODO 2023-02-26 16:01:20 +01:00
update.py maintainers/scripts/update.nix: Remove unicode from message and comply with CONTRIBUTING.md 2023-04-05 11:28:47 +10:00
vanity-manual-equalities.txt
vanity.sh vanity: Indent with spaces part 2 2021-11-18 10:53:29 +13:00

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.