about summary refs log tree commit diff
path: root/maintainers/scripts/haskell/maintainer-handles.nix
blob: d650e82f8b0c1e05e33fca92ed1e6f61bc31ac9a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Nix script to lookup maintainer github handles from their email address. Used by ./hydra-report.hs.
#
# This script produces an attr set mapping of email addresses to GitHub handles:
#
# ```nix
# > import ./maintainer-handles.nix
# { "cdep.illabout@gmail.com" = "cdepillabout"; "john@smith.com" = "johnsmith"; ... }
# ```
#
# This mapping contains all maintainers in ../../mainatainer-list.nix, but it
# ignores maintainers who don't have a GitHub account or an email address.
let
  pkgs = import ../../.. {};
  maintainers = import ../../maintainer-list.nix;
  inherit (pkgs) lib;
  mkMailGithubPair = _: maintainer:
    if (maintainer ? email) && (maintainer ? github) then
      { "${maintainer.email}" = maintainer.github; }
    else
      {};
in lib.zipAttrsWith (_: builtins.head) (lib.mapAttrsToList mkMailGithubPair maintainers)