diff options
Diffstat (limited to 'maintainers')
26 files changed, 3215 insertions, 323 deletions
diff --git a/maintainers/README.md b/maintainers/README.md index f121ec7564135..848cb9fed9b50 100644 --- a/maintainers/README.md +++ b/maintainers/README.md @@ -87,8 +87,8 @@ checks should be performed: keys = [{ fingerprint = "0000 0000 2A70 6423 0AED 3C11 F04F 7A19 AAA6 3AFE"; }]; - } - }; + }; + } ``` First receive their key from a keyserver: @@ -133,8 +133,8 @@ checks should be performed: name = "Example User"; github = "ghost"; githubId = 10137; - } - }; + }; + } ``` First, make sure that the listed GitHub handle matches the author of diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index a4734d1aec147..c7be881f00cbd 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -58,8 +58,24 @@ nix-build lib/tests/maintainers.nix See `./scripts/check-maintainer-github-handles.sh` for an example on how to work with this data. + + When adding a new maintainer, be aware of the current commit conventions + documented at [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#commit-conventions) + file located in the root of the Nixpkgs repo. */ { + _0b11stan = { + name = "Tristan Auvinet Pinaudeau"; + email = "tristan@tic.sh"; + github = "0b11stan"; + githubId = 27831931; + }; + _0nyr = { + email = "onyr.maintainer@gmail.com"; + github = "0nyr"; + githubId = 47721040; + name = "Florian Rascoussier"; + }; _0qq = { email = "0qqw0qqw@gmail.com"; github = "0qq"; @@ -191,12 +207,33 @@ fingerprint = "D292 365E 3C46 A5AA 75EE B30B 78DB 7EDE 3540 794B"; }]; }; + _48cf = { + name = "czapek"; + email = "czapek1337@gmail.com"; + github = "48cf"; + githubId = 32851089; + }; + _6543 = { + email = "6543@obermui.de"; + github = "6543"; + githubId = 24977596; + name = "6543"; + keys = [{ + fingerprint = "8722 B61D 7234 1082 553B 201C B8BE 6D61 0E61 C862"; + }]; + }; _6AA4FD = { email = "f6442954@gmail.com"; github = "6AA4FD"; githubId = 12578560; name = "Quinn Bohner"; }; + _8aed = { + email = "8aed@riseup.net"; + github = "8aed"; + githubId = 140662578; + name = "Huit Aed"; + }; _8-bit-fox = { email = "sebastian@markwaerter.de"; github = "8-bit-fox"; @@ -229,6 +266,18 @@ fingerprint = "DBF4 E6D0 90B8 BEA4 4BFE 1F1C 3442 4321 39B5 0691"; }]; }; + _9R = { + email = "nix@9-r.net"; + github = "9R"; + githubId = 381298; + name = "9R"; + }; + A1ca7raz = { + email = "aya@wtm.moe"; + github = "A1ca7raz"; + githubId = 7345998; + name = "A1ca7raz"; + }; a1russell = { email = "adamlr6+pub@gmail.com"; github = "a1russell"; @@ -349,6 +398,12 @@ githubId = 13504599; name = "Adam Boseley"; }; + abueide = { + email = "andrea@abueide.com"; + github = "abueide"; + githubId = 19354425; + name = "Andrea Bueide"; + }; abuibrahim = { email = "ruslan@babayev.com"; github = "abuibrahim"; @@ -361,6 +416,13 @@ githubId = 2526296; name = "Adrien Bustany"; }; + abysssol = { + name = "abysssol"; + email = "abysssol@pm.me"; + matrix = "@abysssol:tchncs.de"; + github = "abysssol"; + githubId = 76763323; + }; acairncross = { email = "acairncross@gmail.com"; github = "acairncross"; @@ -534,7 +596,7 @@ name = "James Alexander Feldman-Crough"; }; afontain = { - email = "antoine.fontaine@epfl.ch"; + email = "afontain@posteo.net"; github = "necessarily-equal"; githubId = 59283660; name = "Antoine Fontaine"; @@ -563,6 +625,12 @@ githubId = 732652; name = "Andreas Herrmann"; }; + ahirner = { + email = "a.hirner+nixpkgs@gmail.com"; + github = "ahirner"; + githubId = 6055037; + name = "Alexander Hirner"; + }; ahoneybun = { email = "aaron@system76.com"; github = "ahoneybun"; @@ -593,6 +661,22 @@ githubId = 4732885; name = "Ivan Jager"; }; + aikooo7 = { + name = "Diogo Fernandes"; + email = "prozinhopro1973@gmail.com"; + matrix = "@aikoo7:matrix.org"; + github = "aikooo7"; + githubId = 79667753; + keys = [{ + fingerprint = "B0D7 2955 235F 6AB5 ACFA 1619 8C7F F5BB 1ADE F191"; + }]; + }; + aimpizza = { + email = "rickomo.us@gmail.com"; + name = "Rick Omonsky"; + github = "AimPizza"; + githubId = 64905268; + }; aiotter = { email = "git@aiotter.com"; github = "aiotter"; @@ -625,7 +709,7 @@ }; ajs124 = { email = "nix@ajs124.de"; - matrix = "@andreas.schraegle:helsinki-systems.de"; + matrix = "@ajs124:ajs124.de"; github = "ajs124"; githubId = 1229027; name = "Andreas Schrägle"; @@ -705,12 +789,32 @@ githubId = 786394; name = "Alexander Krupenkin "; }; + akshayka = { + github = "akshayka"; + githubId = 1994308; + name = "Akshay Agrawal"; + }; akshgpt7 = { email = "akshgpt7@gmail.com"; github = "akshgpt7"; githubId = 20405311; name = "Aksh Gupta"; }; + aktaboot = { + email = "akhtaboo@protonmail.com"; + github = "aktaboot"; + githubId = 120214979; + name = "aktaboot"; + }; + al3xtjames = { + email = "nix@alextjam.es"; + github = "al3xtjames"; + githubId = 5672538; + name = "Alex James"; + keys = [{ + fingerprint = "F354 FFAB EA89 A49D 33ED 2590 4729 B829 AC5F CC72"; + }]; + }; alanpearce = { email = "alan@alanpearce.eu"; github = "alanpearce"; @@ -902,12 +1006,15 @@ name = "Alma Cemerlic"; }; Alper-Celik = { - email = "dev.alpercelik@gmail.com"; + email = "alper@alper-celik.dev"; name = "Alper Çelik"; github = "Alper-Celik"; githubId = 110625473; keys = [{ fingerprint = "6B69 19DD CEE0 FAF3 5C9F 2984 FA90 C0AB 738A B873"; + } + { + fingerprint = "DF68 C500 4024 23CC F9C5 E6CA 3D17 C832 4696 FE70"; }]; }; alternateved = { @@ -1158,12 +1265,6 @@ githubId = 29887; name = "Andrew Smith"; }; - andsild = { - email = "andsild@gmail.com"; - github = "andsild"; - githubId = 3808928; - name = "Anders Sildnes"; - }; andys8 = { github = "andys8"; githubId = 13085980; @@ -1257,11 +1358,6 @@ githubId = 81317317; name = "Anna Aurora"; }; - a-n-n-a-l-e-e = { - github = "a-n-n-a-l-e-e"; - githubId = 150648636; - name = "annalee"; - }; anoa = { matrix = "@andrewm:amorgan.xyz"; email = "andrew@amorgan.xyz"; @@ -1308,6 +1404,7 @@ github = "anthonyroussel"; githubId = 220084; name = "Anthony Roussel"; + matrix = "@anthonyrsl:matrix.org"; keys = [{ fingerprint = "472D 368A F107 F443 F3A5 C712 9DC4 987B 1A55 E75E"; }]; @@ -1351,6 +1448,18 @@ githubId = 4194320; name = "Anton Schirg"; }; + anytimetraveler = { + email = "simon@simonscode.org"; + github = "AnyTimeTraveler"; + githubId = 19378309; + name = "Simon Struck"; + }; + aorith = { + email = "aomanu+nixpkgs@gmail.com"; + github = "aorith"; + githubId = 5411704; + name = "Manuel Sanchez Pinar"; + }; apeschar = { email = "albert@peschar.net"; github = "apeschar"; @@ -1379,6 +1488,20 @@ fingerprint = "7083 E268 4BFD 845F 2B84 9E74 B695 8918 ED23 32CE"; }]; }; + applejag = { + email = "applejag.luminance905@passmail.com"; + github = "applejag"; + githubId = 2477952; + name = "Kalle Fagerberg"; + keys = [ + { + fingerprint = "F68E 6DB3 79FB 1FF0 7C72 6479 9874 DEDD 3592 5ED0"; + } + { + fingerprint = "8DDB 3994 0A34 4FE5 4F3B 3E77 F161 001D EE78 1051"; + } + ]; + }; applePrincess = { email = "appleprincess@appleprincess.io"; github = "applePrincess"; @@ -1388,6 +1511,11 @@ fingerprint = "BF8B F725 DA30 E53E 7F11 4ED8 AAA5 0652 F047 9205"; }]; }; + appsforartists = { + github = "appsforartists"; + githubId = 926648; + name = "Brenton Simpson"; + }; apraga = { email = "alexis.praga@proton.me"; github = "apraga"; @@ -1453,6 +1581,12 @@ githubId = 160646; name = "Patrick Jackson"; }; + arduano = { + email = "leonid.shchurov@gmail.com"; + github = "arduano"; + githubId = 13347712; + name = "Leo Shchurov"; + }; ardumont = { email = "eniotna.t@gmail.com"; github = "ardumont"; @@ -1659,11 +1793,27 @@ githubId = 11037075; name = "Ashley Hooper"; }; + ashuramaruzxc = { + email = "ashuramaru@tenjin-dk.com"; + matrix = "@tenjin:mozilla.org"; + github = "ashuramaruzxc"; + githubId = 72100551; + name = "Mariia Holovata"; + keys = [{ + fingerprint = "409D 201E 9450 8732 A49E D0FC 6BDA F874 0068 08DF"; + }]; + }; ashvith-shetty = { github = "Ashvith10"; githubId = 113123021; name = "Ashvith Shetty"; }; + asininemonkey = { + email = "nixpkgs@asininemonkey.com"; + github = "asininemonkey"; + githubId = 65740649; + name = "Jose Cardoso"; + }; aske = { email = "aske@fmap.me"; github = "aske"; @@ -1676,12 +1826,34 @@ githubId = 453170; name = "Alastair Pharo"; }; + aspulse = { + email = "contact@aspulse.dev"; + github = "aspulse"; + githubId = 84216737; + name = "AsPulse / あすぱる"; + keys = [{ + fingerprint = "C919 E69E A7C0 E147 9E0F C26E 1EDA D0C6 70BD 062D"; + }]; + }; + assistant = { + email = "assistant.moetron@gmail.com"; + github = "Assistant"; + githubId = 2748721; + matrix = "@assistant:pygmalion.chat"; + name = "Assistant Moetron"; + }; astavie = { email = "astavie@pm.me"; github = "astavie"; githubId = 7745457; name = "Astavie"; }; + astindev = { + email = "astindev@pm.me"; + github = "astindev"; + githubId = 52360869; + name = "Astin"; + }; astro = { email = "astro@spaceboyz.net"; github = "astro"; @@ -1787,12 +1959,6 @@ github = "Atry"; githubId = 601530; }; - attila-lendvai = { - name = "Attila Lendvai"; - email = "attila@lendvai.name"; - github = "attila-lendvai"; - githubId = 840345; - }; auchter = { name = "Michael Auchter"; email = "a@phire.org"; @@ -1856,6 +2022,12 @@ githubId = 1217745; name = "Aldwin Vlasblom"; }; + averagebit = { + email = "averagebit@pm.me"; + github = "averagebit"; + githubId = 97070581; + name = "averagebit"; + }; averelld = { email = "averell+nixos@rxd4.com"; github = "averelld"; @@ -1863,10 +2035,10 @@ name = "averelld"; }; avery = { - email = "averyl+nixos@protonmail.com"; - github = "AveryLychee"; - githubId = 9147625; - name = "Avery Lychee"; + email = "nixpkgs@avery.cafe"; + github = "coolavery"; + githubId = 76545554; + name = "Avery"; }; avh4 = { email = "gruen0aermel@gmail.com"; @@ -2054,6 +2226,12 @@ githubId = 80325; name = "Benjamin Andresen"; }; + barab-i = { + email = "barab_i@outlook.com"; + github = "barab-i"; + githubId = 92919899; + name = "Barab I"; + }; baracoder = { email = "baracoder@googlemail.com"; github = "baracoder"; @@ -2166,6 +2344,12 @@ githubId = 24027; name = "Bruno Bigras"; }; + bbjubjub = { + name = "Julie B."; + email = "julie+nixpkgs@bbjubjub.fr"; + github = "bbjubjub2494"; + githubId = 15657735; + }; bburdette = { email = "bburdette@protonmail.com"; github = "bburdette"; @@ -2257,6 +2441,12 @@ fingerprint = "D35E C9CE E631 638F F1D8 B401 6F0E 410D C3EE D02"; }]; }; + benhiemer = { + name = "Benedikt Hiemer"; + email = "ben.email@posteo.de"; + github = "benhiemer"; + githubId = 16649926; + }; benjaminedwardwebb = { name = "Ben Webb"; email = "benjaminedwardwebb@gmail.com"; @@ -2418,6 +2608,12 @@ githubId = 34919100; name = "Brendan Hall"; }; + bhankas = { + email = "payas@relekar.org"; + github = "bhankas"; + githubId = 24254289; + name = "Payas Relekar"; + }; bhipple = { email = "bhipple@protonmail.com"; github = "bhipple"; @@ -2448,12 +2644,24 @@ githubId = 185443; name = "Alexey Lebedeff"; }; + binarycat = { + email = "binarycat@envs.net"; + github = "lolbinarycat"; + githubId = 19915050; + name = "binarycat"; + }; binsky = { email = "timo@binsky.org"; github = "binsky08"; githubId = 30630233; name = "Timo Triebensky"; }; + birkb = { + email = "birk@batchworks.de"; + github = "birkb"; + githubId = 10164833; + name = "Birk Bohne"; + }; bjornfor = { email = "bjorn.forsman@gmail.com"; github = "bjornfor"; @@ -2472,6 +2680,12 @@ github = "blaggacao"; githubId = 7548295; }; + blakesmith = { + name = "Blake Smith"; + email = "blakesmith0@gmail.com"; + github = "blakesmith"; + githubId = 44368; + }; blankparticle = { name = "BlankParticle"; email = "blankparticle@gmail.com"; @@ -2487,6 +2701,12 @@ githubId = 5700358; name = "Thomas Blank"; }; + blinry = { + name = "blinry"; + email = "mail@blinry.org"; + github = "blinry"; + githubId = 81277; + }; blitz = { email = "js@alien8.de"; matrix = "@js:ukvly.org"; @@ -2512,6 +2732,12 @@ githubId = 52386117; name = "Blusk"; }; + bmanuel = { + name = "Benjamin Manuel"; + email = "ben@benmanuel.com"; + github = "bmanuel"; + githubId = 3662307; + }; bmilanov = { name = "Biser Milanov"; email = "bmilanov11+nixpkgs@gmail.com"; @@ -2524,6 +2750,12 @@ github = "bmwalters"; githubId = 4380777; }; + bnlrnz = { + github = "bnlrnz"; + githubId = 11310385; + name = "Ben Lorenz"; + email = "bnlrnz@gmail.com"; + }; bobakker = { email = "bobakk3r@gmail.com"; github = "bobakker"; @@ -2561,6 +2793,12 @@ githubId = 150560585; name = "Dmitry Ivankov"; }; + bonsairobo = { + email = "duncanfairbanks6@gmail.com"; + github = "bonsairobo"; + githubId = 3229981; + name = "Duncan Fairbanks"; + }; booklearner = { name = "booklearner"; email = "booklearner@proton.me"; @@ -2729,6 +2967,12 @@ githubId = 40476330; name = "brokenpip3"; }; + brpaz = { + email = "oss@brunopaz.dev"; + github = "brpaz"; + githubId = 184563; + name = "Bruno Paz"; + }; bryanasdev000 = { email = "bryanasdev000@gmail.com"; matrix = "@bryanasdev000:matrix.org"; @@ -2785,6 +3029,12 @@ githubId = 37375448; name = "Buildit"; }; + bwc9876 = { + email = "bwc9876@gmail.com"; + github = "Bwc9876"; + githubId = 25644444; + name = "Ben C"; + }; bwlang = { email = "brad@langhorst.com"; github = "bwlang"; @@ -2797,6 +3047,12 @@ githubId = 8891115; name = "Brian Choy"; }; + ByteSudoer = { + email = "bytesudoer@gmail.com"; + github = "bytesudoer"; + githubId = 88513682; + name = "ByteSudoer"; + }; bzizou = { email = "Bruno@bzizou.net"; github = "bzizou"; @@ -2827,12 +3083,6 @@ githubId = 382011; name = "c4605"; }; - caadar = { - email = "v88m@posteo.net"; - github = "caadar"; - githubId = 15320726; - name = "Car Cdr"; - }; caarlos0 = { name = "Carlos A Becker"; email = "carlos@becker.software"; @@ -2868,7 +3118,7 @@ }; cafkafk = { email = "christina@cafkafk.com"; - matrix = "@cafkafk:nixos.dev"; + matrix = "@cafkafk:gitter.im"; name = "Christina Sørensen"; github = "cafkafk"; githubId = 89321978; @@ -2975,6 +3225,12 @@ fingerprint = "8BC7 74E4 A2EC 7507 3B61 A647 0BBB 1C8B 1C36 39EE"; }]; }; + carloscraveiro = { + email = "carlos.craveiro@usp.br"; + github = "CarlosCraveiro"; + githubId = 85318248; + name = "Carlos Henrique Craveiro Aquino Veras"; + }; carlosdagos = { email = "m@cdagostino.io"; github = "carlosdagos"; @@ -3055,6 +3311,12 @@ matrix = "@cawilliamson:nixos.dev"; name = "Christopher A. Williamson"; }; + cbarrete = { + github = "cbarrete"; + githubId = 62146989; + matrix = "@cedric:cbarrete.com"; + name = "Cédric Barreteau"; + }; cbleslie = { email = "cameronleslie@gmail.com"; github = "cbleslie"; @@ -3108,6 +3370,13 @@ github = "cdmistman"; githubId = 23486351; }; + cdombroski = { + name = "Chris Dombroski"; + email = "cdombroski@gmail.com"; + matrix = "@cdombroski:kow.is"; + github = "cdombroski"; + githubId = 244909; + }; ceedubs = { email = "ceedubs@gmail.com"; github = "ceedubs"; @@ -3187,6 +3456,9 @@ github = "LostAttractor"; githubId = 46527539; name = "ChaosAttractor"; + keys = [{ + fingerprint = "A137 4415 DB7C 6439 10EA 5BF1 0FEE 4E47 5940 E125"; + }]; }; charlesbaynham = { email = "charlesbaynham@gmail.com"; @@ -3266,6 +3538,13 @@ githubId = 4526429; name = "Philipp Dargel"; }; + chito = { + email = "chitochi@proton.me"; + github = "chitochi"; + githubId = 153365419; + matrix = "@chito:nichijou.dev"; + name = "Chito"; + }; chivay = { email = "hubert.jasudowicz@gmail.com"; github = "chivay"; @@ -3284,6 +3563,12 @@ githubId = 1118859; name = "Scott Worley"; }; + ChlorideCull = { + email = "nixrelated@chcl.se"; + github = "ChlorideCull"; + githubId = 4977063; + name = "Sebastian Johansson"; + }; choochootrain = { email = "hurshal@imap.cc"; github = "choochootrain"; @@ -3365,8 +3650,7 @@ }; chuangzhu = { name = "Chuang Zhu"; - email = "chuang@melty.land"; - matrix = "@chuangzhu:matrix.org"; + email = "nixos@chuang.cz"; github = "chuangzhu"; githubId = 31200881; keys = [{ @@ -3490,6 +3774,19 @@ githubId = 46303707; name = "Christian Lütke-Stetzkamp"; }; + clot27 = { + name = "Clot"; + email = "adityayadav11082@protonmail.com"; + github = "clot27"; + githubId = 69784758; + matrix = "@clot27:matrix.org"; + }; + clr-cera = { + email = "clrcera05@gmail.com"; + github = "clr-cera"; + githubId = 93736542; + name = "Clr"; + }; cmacrae = { email = "hi@cmacr.ae"; github = "cmacrae"; @@ -3843,6 +4140,21 @@ githubId = 6821729; github = "criyle"; }; + croissong = { + email = "jan.moeller0@pm.me"; + name = "Jan Möller"; + github = "Croissong"; + githubId = 4162215; + keys = [{ + fingerprint = "CE97 9DEE 904C 26AA 3716 78C2 96A4 38F9 EE72 572F"; + }]; + }; + crschnick = { + email = "crschnick@xpipe.io"; + name = "Christopher Schnick"; + github = "crschnick"; + githubId = 72509152; + }; CRTified = { email = "carl.schneider+nixos@rub.de"; matrix = "@schnecfk:ruhr-uni-bochum.de"; @@ -3913,6 +4225,17 @@ githubId = 16950437; name = "cwyc"; }; + cybershadow = { + name = "Vladimir Panteleev"; + email = "nixpkgs@cy.md"; + matrix = "@cybershadow:cy.md"; + github = "CyberShadow"; + githubId = 160894; + + keys = [{ + fingerprint = "BBED 1B08 8CED 7F95 8917 FBE8 5004 F0FA D051 576D"; + }]; + }; cynerd = { name = "Karel Kočí"; email = "cynerd@email.cz"; @@ -3959,6 +4282,18 @@ githubId = 217899; name = "Cyryl Płotnicki"; }; + d3vil0p3r = { + name = "Antonio Voza"; + email = "vozaanthony@gmail.com"; + github = "D3vil0p3r"; + githubId = 83867734; + }; + d4ilyrun = { + name = "Léo Duboin"; + email = "leo@duboin.com"; + github = "d4ilyrun"; + githubId = 34611103; + }; dadada = { name = "dadada"; email = "dadada@dadada.li"; @@ -4029,12 +4364,6 @@ githubId = 990767; name = "Daniel Olsen"; }; - danderson = { - email = "dave@natulte.net"; - github = "danderson"; - githubId = 1918; - name = "David Anderson"; - }; daneads = { email = "me@daneads.com"; github = "daneads"; @@ -4053,6 +4382,12 @@ githubId = 49398; name = "Daniël de Kok"; }; + daniel-fahey = { + name = "Daniel Fahey"; + email = "daniel.fahey+nixpkgs@pm.me"; + github = "daniel-fahey"; + githubId = 7294692; + }; danielfullmer = { email = "danielrf12@gmail.com"; github = "danielfullmer"; @@ -4099,6 +4434,13 @@ fingerprint = "4779 D1D5 3C97 2EAE 34A5 ED3D D8AF C4BF 0567 0F9D"; }]; }; + dan-theriault = { + email = "nix@theriault.codes"; + github = "Dan-Theriault"; + githubId = 13945563; + matrix = "@dan:matrix.org"; + name = "Daniel Theriault"; + }; dariof4 = { name = "dariof4"; email = "dazedtank@gmail.com"; @@ -4112,6 +4454,12 @@ github = "DarkOnion0"; githubId = 68606322; }; + daru-san = { + name = "Daru"; + email = "zadarumaka@proton.me"; + github = "Daru-san"; + githubId = 135046711; + }; das-g = { email = "nixpkgs@raphael.dasgupta.ch"; github = "das-g"; @@ -4145,6 +4493,15 @@ githubId = 34766150; name = "datafoo"; }; + DataHearth = { + email = "dev@antoine-langlois.net"; + github = "DataHearth"; + githubId = 28595242; + name = "DataHearth"; + keys = [{ + fingerprint = "A129 2547 0298 BFEE 7EE0 92B3 946E 2D0C 410C 7B3D"; + }]; + }; davegallant = { name = "Dave Gallant"; email = "davegallant@gmail.com"; @@ -4236,6 +4593,12 @@ githubId = 11422515; name = "David Sánchez"; }; + dav-wolff = { + email = "dav-wolff@outlook.com"; + github = "dav-wolff"; + githubId = 130931508; + name = "David Wolff"; + }; dawidd6 = { email = "dawidd0811@gmail.com"; github = "dawidd6"; @@ -4248,6 +4611,18 @@ githubId = 49904992; name = "Dawid Sowa"; }; + dawoox = { + email = "contact@antoinebellanger.fr"; + github = "dawoox"; + githubId = 48325941; + name = "Dawoox"; + }; + daylinmorgan = { + email = "daylinmorgan@gmail.com"; + github = "daylinmorgan"; + githubId = 47667941; + name = "Daylin Morgan"; + }; dbalan = { email = "nix@dbalan.in"; github = "dbalan"; @@ -4281,12 +4656,27 @@ githubId = 3179832; name = "D. Bohdan"; }; + dbrgn = { + email = "nix@dbrgn.ch"; + github = "dbrgn"; + githubId = 105168; + name = "Danilo B."; + keys = [{ + fingerprint = "20EE 002D 778A E197 EF7D 0D2C B993 FF98 A90C 9AB1"; + }]; + }; dbrock = { email = "daniel@brockman.se"; github = "dbrock"; githubId = 14032; name = "Daniel Brockman"; }; + DCsunset = { + email = "DCsunset@protonmail.com"; + github = "DCsunset"; + githubId = 23468812; + name = "DCsunset"; + }; ddelabru = { email = "ddelabru@redhat.com"; github = "ddelabru"; @@ -4384,6 +4774,12 @@ githubId = 47436522; name = "deliciouslytyped"; }; + delliott = { + name = "Darragh Elliott"; + github = "delliottxyz"; + githubId = 150736012; + email = "me+git@delliott.xyz"; + }; delroth = { email = "delroth@gmail.com"; github = "delroth"; @@ -4474,6 +4870,12 @@ githubId = 4956158; name = "Robin Stumm"; }; + DerRockWolf = { + email = "git@rockwolf.eu"; + github = "DerRockWolf"; + githubId = 50499906; + name = "DerRockWolf"; + }; DerTim1 = { email = "tim.digel@active-group.de"; github = "DerTim1"; @@ -4531,6 +4933,12 @@ githubId = 30475873; name = "Andrei Hava"; }; + devplayer0 = { + email = "dev@nul.ie"; + github = "devplayer0"; + githubId = 1427254; + name = "Jack O'Sullivan"; + }; devusb = { email = "mhelton@devusb.us"; github = "devusb"; @@ -4549,6 +4957,12 @@ github = "dfithian"; githubId = 8409320; }; + dflores = { + email = "dflores.country455@passinbox.com"; + name = "David Flores"; + github = "dflores1"; + githubId = 8538265; + }; dfordivam = { email = "dfordivam+nixpkgs@gmail.com"; github = "dfordivam"; @@ -4561,6 +4975,12 @@ githubId = 4708206; name = "Daniel Fox Franke"; }; + dghubble = { + email = "dghubble@gmail.com"; + github = "dghubble"; + githubId = 2253428; + name = "Dalton Hubble"; + }; dgliwka = { email = "dawid.gliwka@gmail.com"; github = "dgliwka"; @@ -4611,18 +5031,51 @@ githubId = 8404455; name = "Diego Lelis"; }; + diegs = { + email = "dpontor@gmail.com"; + github = "diegs"; + githubId = 74719; + name = "Diego Pontoriero"; + }; DieracDelta = { email = "justin@restivo.me"; github = "DieracDelta"; githubId = 13730968; name = "Justin Restivo"; }; + dietmarw = { + name = "Dietmar Winkler"; + email = "dietmar.winkler@dwe.no"; + github = "dietmarw"; + githubId = 9332; + }; diffumist = { email = "git@diffumist.me"; github = "Diffumist"; githubId = 32810399; name = "Diffumist"; }; + DimitarNestorov = { + name = "Dimitar Nestorov"; + github = "DimitarNestorov"; + githubId = 8790386; + }; + diniamo = { + name = "diniamo"; + email = "diniamo53@gmail.com"; + github = "diniamo"; + githubId = 55629891; + }; + diogotcorreia = { + name = "Diogo Correia"; + email = "me@diogotc.com"; + matrix = "@dtc:diogotc.com"; + github = "diogotcorreia"; + githubId = 7467891; + keys = [{ + fingerprint = "111F 91B7 5F61 99D8 985B 4C70 12CF 31FD FF17 2B77"; + }]; + }; diogox = { name = "Diogo Xavier"; github = "diogox"; @@ -4667,6 +5120,15 @@ fingerprint = "8FD2 153F 4889 541A 54F1 E09E 71B6 C31C 8A5A 9D21"; }]; }; + dixslyf = { + name = "Dixon Sean Low Yan Feng"; + email = "dixonseanlow@protonmail.com"; + github = "dixslyf"; + githubId = 56017218; + keys = [{ + fingerprint = "E6F4 BFB4 8DE3 893F 68FC A15F FF5F 4B30 A41B BAC8"; + }]; + }; djacu = { email = "daniel.n.baker@gmail.com"; github = "djacu"; @@ -4709,6 +5171,12 @@ githubId = 283316; name = "Dane Lipscombe"; }; + dmadisetti = { + email = "nix@madisetti.me"; + github = "dmadisetti"; + githubId = 2689338; + name = "Dylan Madisetti"; + }; dmalikov = { email = "malikov.d.y@gmail.com"; github = "dmalikov"; @@ -4791,6 +5259,14 @@ fingerprint = "EE7D 158E F9E7 660E 0C33 86B2 8FC5 F7D9 0A5D 8F4D"; }]; }; + donteatoreo = { + name = "DontEatOreo"; + github = "DontEatOreo"; + githubId = 57304299; + keys = [{ + fingerprint = "33CD 5C0A 673C C54D 661E 5E4C 0DB5 361B EEE5 30AB"; + }]; + }; doriath = { email = "tomasz.zurkowski@gmail.com"; github = "doriath"; @@ -4878,6 +5354,12 @@ fingerprint = "D245 D484 F357 8CB1 7FD6 DA6B 67DB 29BF F3C9 6757"; }]; }; + dragonginger = { + email = "dragonginger10@gmail.com"; + github = "dragonginger10"; + githubId = 20759788; + name = "JP Lippold"; + }; dramaturg = { email = "seb@ds.ag"; github = "dramaturg"; @@ -4972,6 +5454,12 @@ fingerprint = "389A 78CB CD88 5E0C 4701 DEB9 FD42 C7D0 D414 94C8"; }]; }; + dudymas = { + email = "jeremy.white@cloudposse.com"; + github = "dudymas"; + githubId = 928448; + name = "Jeremy White"; + }; dukc = { email = "ajieskola@gmail.com"; github = "dukc"; @@ -5015,6 +5503,12 @@ githubId = 6689924; name = "David Terry"; }; + dylan-gonzalez = { + email = "dylcg10@gmail.com"; + github = "dylan-gonzalez"; + githubId = 45161987; + name = "Dylan Gonzalez"; + }; dylanmtaylor = { email = "dylan@dylanmtaylor.com"; github = "dylanmtaylor"; @@ -5095,7 +5589,14 @@ githubId = 7875; name = "Rommel Martinez"; }; + ecklf = { + email = "ecklf@icloud.com"; + github = "ecklf"; + githubId = 8146736; + name = "Florentin Eckl"; + }; eclairevoyant = { + email = "contactmeongithubinstead@proton.me"; github = "eclairevoyant"; githubId = 848000; name = "éclairevoyant"; @@ -5151,6 +5652,13 @@ github = "edlimerkaj"; githubId = 71988351; }; + edmundmiller = { + name = "Edmund Miller"; + email = "git@edmundmiller.dev"; + matrix = "@emiller:beeper.com"; + github = "edmundmiller"; + githubId = 20095261; + }; edrex = { email = "ericdrex@gmail.com"; github = "edrex"; @@ -5161,6 +5669,12 @@ matrix = "@edrex:matrix.org"; name = "Eric Drechsel"; }; + edswordsmith = { + email = "eduardo.espadeiro@tecnico.ulisboa.pt"; + github = "EdSwordsmith"; + githubId = 22300113; + name = "Eduardo Espadeiro"; + }; eduarrrd = { email = "e.bachmakov@gmail.com"; github = "eduarrrd"; @@ -5289,6 +5803,12 @@ githubId = 5737945; name = "Elia Argentieri"; }; + elisesouche = { + email = "elise@souche.one"; + github = "elisesouche"; + githubId = 161958668; + name = "Élise Souche"; + }; elitak = { email = "elitak@gmail.com"; github = "elitak"; @@ -5343,6 +5863,18 @@ githubId = 2536303; name = "Enno Lohmeier"; }; + elpdt852 = { + email = "nix@pdtpartners.com"; + github = "elpdt852"; + githubId = 122112154; + name = "Edgar Lee"; + }; + elrohirgt = { + email = "elrohirgt@gmail.com"; + github = "ElrohirGT"; + githubId = 45268815; + name = "Flavio Galán"; + }; elvishjerricco = { email = "elvishjerricco@gmail.com"; matrix = "@elvishjerricco:matrix.org"; @@ -5368,6 +5900,12 @@ githubId = 428026; name = "embr"; }; + emilioziniades = { + email = "emilioziniades@protonmail.com"; + github = "emilioziniades"; + githubId = 75438244; + name = "Emilio Ziniades"; + }; emily = { email = "nixpkgs@emily.moe"; github = "emilazy"; @@ -5454,6 +5992,22 @@ githubId = 418227; name = "Jean-Philippe Braun"; }; + eopb = { + email = "ethanboxx@gmail.com"; + github = "eopb"; + githubId = 8074468; + matrix = "@efun:matrix.org"; + name = "Ethan Brierley"; + }; + eownerdead = { + name = "EOWNERDEAD"; + email = "eownerdead@disroot.org"; + github = "eownerdead"; + githubId = 141208772; + keys = [{ + fingerprint = "4715 17D6 2495 A273 4DDB 5661 009E 5630 5CA5 4D63"; + }]; + }; eperuffo = { email = "info@emanueleperuffo.com"; github = "emanueleperuffo"; @@ -5503,6 +6057,13 @@ githubId = 8706; name = "Rafael Fernández López"; }; + erethon = { + email = "dgrig@erethon.com"; + matrix = "@dgrig:erethon.com"; + github = "erethon"; + githubId = 1254842; + name = "Dionysis Grigoropoulos"; + }; ericbmerritt = { email = "eric@afiniate.com"; github = "ericbmerritt"; @@ -5650,7 +6211,7 @@ }; etu = { email = "elis@hirwing.se"; - matrix = "@etu:semi.social"; + matrix = "@etu:failar.nu"; github = "etu"; githubId = 461970; name = "Elis Hirwing"; @@ -5717,6 +6278,21 @@ githubId = 2512008; name = "Even Brenden"; }; + evey = { + email = "nix@lubdub.nl"; + github = "lub-dub"; + githubId = 159288204; + name = "evey"; + }; + evilbulgarian = { + email = "vladi@aresgate.net"; + github = "evilbulgarian"; + githubId = 1960413; + name = "Vladi Gergov"; + keys = [{ + fingerprint = "50D5 67C5 D693 15A2 76F5 5634 3758 5F3C A9EC BFA4"; + }]; + }; evilmav = { email = "elenskiy.ilya@gmail.com"; github = "evilmav"; @@ -5797,7 +6373,7 @@ }; eymeric = { name = "Eymeric Dechelette"; - email = "hatchchcien@protonmail.com"; + email = "hatchchien@protonmail.com"; github = "hatch01"; githubId = 42416805; }; @@ -5844,6 +6420,12 @@ githubId = 303897; name = "Fabián Heredia Montiel"; }; + fabianrig = { + email = "fabianrig@posteo.de"; + github = "fabianrig"; + githubId = 88741530; + name = "Fabian Rigoll"; + }; fadenb = { email = "tristan.helmich+nixos@gmail.com"; github = "fadenb"; @@ -5898,6 +6480,12 @@ githubId = 4246921; name = "Florian Beeres"; }; + fccapria = { + email = "francesco@capria.eu"; + github = "fccapria"; + githubId = 62179193; + name = "Francesco Carmelo Capria"; + }; fd = { email = "simon.menke@gmail.com"; github = "fd"; @@ -5910,16 +6498,6 @@ githubId = 541748; name = "Felipe Espinoza"; }; - federicoschonborn = { - name = "Federico Damián Schonborn"; - email = "fdschonborn@gmail.com"; - github = "FedericoSchonborn"; - githubId = 62166915; - matrix = "@FedericoDSchonborn:matrix.org"; - keys = [ - { fingerprint = "517A 8A6A 09CA A11C 9667 CEE3 193F 70F1 5C9A B0A0"; } - ]; - }; fedx-sudo = { email = "fedx-sudo@pm.me"; github = "FedX-sudo"; @@ -5989,6 +6567,12 @@ githubId = 5198058; name = "Udo Sauer"; }; + ferrine = { + email = "justferres@yandex.ru"; + github = "ferrine"; + githubId = 11705326; + name = "Max Kochurov"; + }; ffinkdevs = { email = "fink@h0st.space"; github = "ffinkdevs"; @@ -6060,6 +6644,13 @@ fingerprint = "2F93 661D AC17 EA98 A104 F780 ECC7 55EE 583C 1672"; }]; }; + flandweber = { + email = "finn@landweber.xyz"; + github = "flandweber"; + githubId = 110117466; + matrix = "@flandweber:envs.net"; + name = "Finn Landweber"; + }; fleaz = { email = "mail@felixbreidenstein.de"; matrix = "@fleaz:rainbownerds.de"; @@ -6073,12 +6664,6 @@ githubId = 1952914; name = "Maxence Maireaux"; }; - flexagoon = { - email = "flexagoon@pm.me"; - github = "flexagoon"; - githubId = 66178592; - name = "Pavel Zolotarevskiy"; - }; flexiondotorg = { name = "Martin Wimpress"; email = "martin@wimpress.org"; @@ -6226,6 +6811,11 @@ githubId = 726447; name = "Francisco Demartino"; }; + frankp = { + github = "MDM23"; + githubId = 10290864; + name = "Peter Frank"; + }; franzmondlichtmann = { name = "Franz Schroepf"; email = "franz-schroepf@t-online.de"; @@ -6291,6 +6881,11 @@ githubId = 46672819; name = "Frido Friedemann"; }; + friedrichaltheide = { + github = "friedrichaltheide"; + githubId = 11352905; + name = "Friedrich Altheide"; + }; frlan = { email = "frank@frank.uvena.de"; github = "frlan"; @@ -6376,6 +6971,15 @@ githubId = 21362942; name = "Fugi"; }; + funkeleinhorn = { + email = "git@funkeleinhorn.com"; + github = "funkeleinhorn"; + githubId = 103313934; + name = "Funkeleinhorn"; + keys = [{ + fingerprint = "689D 1C81 DA0D 1EB2 F029 D24E C7BE A25A 0A33 5A72"; + }]; + }; fusion809 = { email = "brentonhorne77@gmail.com"; github = "fusion809"; @@ -6413,6 +7017,16 @@ githubId = 29337229; name = "mtths"; }; + fx-chun = { + email = "faye@lolc.at"; + matrix = "@faye:lolc.at"; + github = "fx-chun"; + githubId = 40049608; + name = "Faye Chun"; + keys = [{ + fingerprint = "ACB8 DB1F E88D A908 6332 BDB1 5A71 B010 2FD7 3FC0"; + }]; + }; fxfactorial = { email = "edgar.factorial@gmail.com"; github = "fxfactorial"; @@ -6450,6 +7064,15 @@ githubId = 1313787; name = "Gabriella Gonzalez"; }; + gabyx = { + email = "gnuetzi@gmail.com"; + github = "gabyx"; + githubId = 647437; + name = "Gabriel Nützi"; + keys = [{ + fingerprint = "90AE CCB9 7AD3 4CE4 3AED 9402 E969 172A B075 7EB8"; + }]; + }; gador = { email = "florian.brandes@posteo.de"; github = "gador"; @@ -6508,6 +7131,12 @@ githubId = 293586; name = "Adam Gamble"; }; + gangaram = { + email = "Ganga.Ram@tii.ae"; + github = "gangaram-tii"; + githubId = 131853076; + name = "Ganga Ram"; + }; garaiza-93 = { email = "araizagustavo93@gmail.com"; github = "garaiza-93"; @@ -6574,6 +7203,12 @@ githubId = 40209356; name = "Gabriel Doriath Döhler"; }; + gdifolco = { + email = "gautier.difolco@gmail.com"; + github = "blackheaven"; + githubId = 1362807; + name = "Gautier Di Folco"; + }; gdinh = { email = "nix@contact.dinh.ai"; github = "gdinh"; @@ -6676,17 +7311,29 @@ }; getpsyched = { name = "Priyanshu Tripathi"; - email = "priyanshutr@proton.me"; + email = "priyanshu@getpsyched.dev"; matrix = "@getpsyched:matrix.org"; github = "getpsyched"; githubId = 43472218; }; + getreu = { + email = "getreu@web.de"; + github = "getreu"; + githubId = 579082; + name = "Jens Getreu"; + }; gfrascadorio = { email = "gfrascadorio@tutanota.com"; github = "gfrascadorio"; githubId = 37602871; name = "Galois"; }; + ggg = { + email = "gggkiller2@gmail.com"; + github = "GGG-KILLER"; + githubId = 5892127; + name = "GGG"; + }; ggpeti = { email = "ggpeti@gmail.com"; matrix = "@ggpeti:ggpeti.com"; @@ -6700,12 +7347,27 @@ github = "ghostbuster91"; githubId = 5662622; }; + ghthor = { + email = "ghthor@gmail.com"; + github = "ghthor"; + githubId = 160298; + name = "Will Owens"; + keys = [{ + fingerprint = "8E98 BB01 BFF8 AEA4 E303 FC4C 8074 09C9 2CE2 3033"; + }]; + }; ghuntley = { email = "ghuntley@ghuntley.com"; github = "ghuntley"; githubId = 127353; name = "Geoffrey Huntley"; }; + gigahawk = { + email = "Jasper Chan"; + name = "jasperchan515@gmail.com"; + github = "Gigahawk"; + githubId = 10356230; + }; gigglesquid = { email = "jack.connors@protonmail.com"; github = "gigglesquid"; @@ -6739,6 +7401,12 @@ githubId = 5549373; name = "Jochen Kiemes"; }; + giodamelio = { + name = "Giovanni d'Amelio"; + email = "gio@damelio.net"; + github = "giodamelio"; + githubId = 441646; + }; giogadi = { email = "lgtorres42@gmail.com"; github = "giogadi"; @@ -6787,6 +7455,11 @@ githubId = 615606; name = "Glenn Searby"; }; + Gliczy = { + name = "Gliczy"; + github = "Gliczy"; + githubId = 129636582; + }; glittershark = { name = "Griffin Smith"; email = "root@gws.fyi"; @@ -6812,6 +7485,12 @@ email = "nix@quidecco.pl"; name = "Isidor Zeuner"; }; + gmacon = { + name = "George Macon"; + matrix = "@gmacon:matrix.org"; + github = "gmacon"; + githubId = 238853; + }; gmemstr = { email = "git@gmem.ca"; github = "gmemstr"; @@ -6986,6 +7665,13 @@ githubId = 201997; name = "Eric Seidel"; }; + grimmauld = { + name = "Sören Bender"; + email = "soeren@benjos.de"; + github = "LordGrimmauld"; + githubId = 49513131; + matrix = "@grimmauld:grimmauld.de"; + }; grindhold = { name = "grindhold"; email = "grindhold+nix@skarphed.org"; @@ -7028,6 +7714,12 @@ githubId = 21156405; name = "GuangTao Zhang"; }; + Guanran928 = { + email = "guanran928@outlook.com"; + github = "Guanran928"; + githubId = 68757440; + name = "Guanran928"; + }; guekka = { github = "Guekka"; githubId = 39066502; @@ -7074,6 +7766,13 @@ githubId = 443978; name = "Gabriel Volpe"; }; + gwg313 = { + email = "gwg313@pm.me"; + matrix = "@gwg313:matrix.org"; + github = "gwg313"; + githubId = 70684146; + name = "Glen Goodwin"; + }; gytis-ivaskevicius = { name = "Gytis Ivaskevicius"; email = "me@gytis.io"; @@ -7127,6 +7826,12 @@ githubId = 22756350; name = "Emile Hansmaennel"; }; + HannahMR = { + name = "Hannah Rosenberg"; + email = "hannah@velascommerce.com"; + github = "HannahMR"; + githubId = 9088467; + }; hansjoergschurr = { email = "commits@schurr.at"; github = "hansjoergschurr"; @@ -7258,6 +7963,12 @@ githubId = 287769; name = "Sergii Paryzhskyi"; }; + heijligen = { + email = "src@posteo.de"; + github = "heijligen"; + githubId = 19170376; + name = "Thomas Heijligen"; + }; heisfer = { email = "heisfer@refract.dev"; github = "heisfer"; @@ -7296,6 +8007,12 @@ matrix = "@chris:netsoj.nl"; name = "Chris Josten"; }; + hennk = { + email = "henning.kiel@gmail.com"; + github = "hennk"; + githubId = 328259; + name = "Henning Kiel"; + }; henrikolsson = { email = "henrik@fixme.se"; github = "henrikolsson"; @@ -7326,6 +8043,12 @@ githubId = 1401179; name = "Guanpeng Xu"; }; + herbetom = { + email = "nixos@tomherbers.de"; + github = "herbetom"; + githubId = 15121114; + name = "Tom Herbers"; + }; hexa = { email = "hexa@darmstadt.ccc.de"; matrix = "@hexa:lossy.network"; @@ -7495,6 +8218,16 @@ githubId = 362833; name = "Hongchang Wu"; }; + honnip = { + name = "Jung seungwoo"; + email = "me@honnip.page"; + matrix = "@honnip:matrix.org"; + github = "honnip"; + githubId = 108175486; + keys = [{ + fingerprint = "E4DD 51F7 FA3F DCF1 BAF6 A72C 576E 43EF 8482 E415"; + }]; + }; hoppla20 = { email = "privat@vincentcui.de"; github = "hoppla20"; @@ -7538,6 +8271,12 @@ githubId = 1614615; name = "Hendrik Schaeidt"; }; + hsjobeki = { + email = "hsjobeki@gmail.com"; + github = "hsjobeki"; + githubId = 50398876; + name = "Johannes Kirschbauer"; + }; htr = { email = "hugo@linux.com"; github = "htr"; @@ -7599,6 +8338,12 @@ githubId = 51334444; name = "Akshat Agarwal"; }; + hummeltech = { + email = "hummeltech2024@gmail.com"; + github = "hummeltech"; + githubId = 6109326; + name = "David Hummel"; + }; huyngo = { email = "huyngo@disroot.org"; github = "Huy-Ngo"; @@ -7719,6 +8464,12 @@ github = "Icy-Thought"; githubId = 53710398; }; + id3v1669 = { + name = "id3v1669"; + email = "id3v1669@gmail.com"; + github = "id3v1669"; + githubId = 57532211; + }; idlip = { name = "Dilip"; email = "igoldlip@gmail.com"; @@ -7822,6 +8573,13 @@ github = "ilyakooo0"; githubId = 6209627; }; + imadnyc = { + email = "me@imad.nyc"; + github = "imadnyc"; + githubId = 113966166; + name = "Abdullah Imad"; + matrix = "@dre:imad.nyc"; + }; imalison = { email = "IvanMalison@gmail.com"; github = "colonelpanic8"; @@ -7870,6 +8628,12 @@ fingerprint = "F5B2 BE1B 9AAD 98FE 2916 5597 3665 FFF7 9D38 7BAA"; }]; }; + imrying = { + email = "philiprying@gmail.com"; + github = "imrying"; + githubId = 36996706; + name = "Philip Rying"; + }; imuli = { email = "i@imu.li"; github = "imuli"; @@ -7974,12 +8738,24 @@ fingerprint = "E864 BDFA AB55 36FD C905 5195 DBF2 52AF FB26 19FD"; }]; }; + ironicbadger = { + email = "alexktz@gmail.com"; + github = "ironicbadger"; + githubId = 2773080; + name = "Alex Kretzschmar"; + }; ironpinguin = { email = "michele@catalano.de"; github = "ironpinguin"; githubId = 137306; name = "Michele Catalano"; }; + isabelroses = { + email = "isabel@isabelroses.com"; + github = "isabelroses"; + githubId = 71222764; + name = "Isabel Roses"; + }; isaozler = { email = "isaozler@gmail.com"; github = "isaozler"; @@ -8121,12 +8897,33 @@ github = "j0xaf"; githubId = 932697; }; + j1nxie = { + email = "rylie@rylie.moe"; + name = "Nguyen Pham Quoc An"; + github = "j1nxie"; + githubId = 52886388; + }; j4m3s = { name = "James Landrein"; email = "github@j4m3s.eu"; github = "j4m3s-s"; githubId = 9413812; }; + ja1den = { + name = "Jaiden Douglas"; + email = "contact@ja1den.me"; + github = "ja1den"; + githubId = 49811314; + keys = [{ + fingerprint = "CC36 4CF4 32DD 443F 27FC 033C 3475 AA20 D72F 6A93"; + }]; + }; + jab = { + name = "Joshua Bronson"; + email = "jabronson@gmail.com"; + github = "jab"; + githubId = 64992; + }; jacbart = { name = "Jack Bartlett"; email = "jacbart@gmail.com"; @@ -8163,6 +8960,12 @@ githubId = 2179419; name = "Arseniy Seroka"; }; + jakedevs = { + email = "work@jakedevs.net"; + github = "jakedevs"; + githubId = 153585330; + name = "Jacob Levi"; + }; jakehamilton = { name = "Jake Hamilton"; email = "jake.hamilton@hey.com"; @@ -8233,6 +9036,12 @@ github = "Janik-Haag"; githubId = 80165193; }; + jankaifer = { + name = "Jan Kaifer"; + email = "jan@kaifer.cz"; + github = "jankaifer"; + githubId = 12820484; + }; jansol = { email = "jan.solanti@paivola.fi"; github = "jansol"; @@ -8501,6 +9310,12 @@ githubId = 1667473; name = "Jethro Kuan"; }; + jetpackjackson = { + email = "baileyannew@tutanota.com"; + github = "JetpackJackson"; + githubId = 88674707; + name = "Bailey Watkins"; + }; jevy = { email = "jevin@quickjack.ca"; github = "jevy"; @@ -8714,6 +9529,12 @@ githubId = 8900; name = "Johan Magnus Jonsson"; }; + jmarmstrong1207 = { + name = "James Armstrong"; + email = "jm.armstrong1207@gmail.com"; + github = "jmarmstrong1207"; + githubId = 32995055; + }; jmbaur = { email = "jaredbaur@fastmail.com"; github = "jmbaur"; @@ -8784,6 +9605,15 @@ githubId = 1102396; name = "Jussi Maki"; }; + joaquintrinanes = { + email = "hi@joaquint.io"; + github = "JoaquinTrinanes"; + name = "Joaquín Triñanes"; + githubId = 1385934; + keys = [{ + fingerprint = "3A13 5C15 E1D5 850D 2F90 AB25 6E14 46DD 451C 6BAF"; + }]; + }; jobojeha = { email = "jobojeha@jeppener.de"; github = "jobojeha"; @@ -8904,6 +9734,12 @@ githubId = 51028009; name = "John Rodewald"; }; + johnrtitor = { + email = "masumrezarock100@gmail.com"; + github = "johnrtitor"; + githubId = 50095635; + name = "Masum Reza"; + }; john-shaffer = { email = "jdsha@proton.me"; github = "john-shaffer"; @@ -8926,6 +9762,12 @@ fingerprint = "7249 70E6 A661 D84E 8B47 678A 0590 93B1 A278 BCD0"; }]; }; + jokatzke = { + email = "jokatzke@fastmail.com"; + github = "jokatzke"; + githubId = 46931073; + name = "Jonas Katzke"; + }; joko = { email = "ioannis.koutras@gmail.com"; github = "jokogr"; @@ -8952,6 +9794,13 @@ githubId = 392720; name = "Jon Banafato"; }; + jonas-w = { + email = "nixpkgs@03j.de"; + github = "jonas-w"; + githubId = 32615971; + name = "Jonas Wunderlich"; + matrix = "@matrix:03j.de"; + }; jonathanmarler = { email = "johnnymarler@gmail.com"; github = "marler8997"; @@ -8964,6 +9813,12 @@ githubId = 1843676; name = "Jonathan Reeve"; }; + jonboh = { + email = "jon.bosque.hernando@gmail.com"; + github = "jonboh"; + githubId = 31407988; + name = "Jon Bosque"; + }; jonnybolton = { email = "jonnybolton@gmail.com"; github = "jonnynightingale"; @@ -9014,6 +9869,12 @@ github = "josephst"; githubId = 1269177; }; + josephsurin = { + name = "Joseph Surin"; + email = "nix@jsur.in"; + github = "josephsurin"; + githubId = 14977484; + }; joshniemela = { name = "Joshua Niemelä"; email = "josh@jniemela.dk"; @@ -9038,6 +9899,11 @@ github = "jpagex"; githubId = 635768; }; + jpaju = { + name = "Jaakko Paju"; + github = "jpaju"; + githubId = 36770267; + }; jpas = { name = "Jarrod Pas"; email = "jarrod@jarrodpas.com"; @@ -9182,6 +10048,16 @@ githubId = 5802758; name = "Joshua Trees"; }; + juancmuller = { + email = "nix@juancmuller.com"; + githubId = 208500; + github = "jcmuller"; + matrix = "@jcmuller@beeper.com"; + name = "Juan C. Müller"; + keys = [{ + fingerprint = "D78D 25D8 A1B8 2596 267F 35B8 F44E A51A 28F9 B4A7"; + }]; + }; juaningan = { email = "juaningan@gmail.com"; github = "oneingan"; @@ -9256,6 +10132,12 @@ githubId = 5124422; name = "Julien Urraca"; }; + justanotherariel = { + email = "ariel@ebersberger.io"; + github = "justanotherariel"; + githubId = 31776703; + name = "Ariel Ebersberger"; + }; justinas = { email = "justinas@justinas.org"; github = "justinas"; @@ -9368,6 +10250,11 @@ githubId = 6544084; name = "Kai Harries"; }; + kai-tub = { + name = "Kai Norman Clasen"; + github = "kai-tub"; + githubId = 46302524; + }; kalbasit = { email = "wael.nasreddine@gmail.com"; matrix = "@kalbasit:matrix.org"; @@ -9403,6 +10290,15 @@ githubId = 1621930; name = "Kamil Chmielewski"; }; + kamillaova = { + name = "Kamilla Ova"; + email = "me@kamillaova.dev"; + github = "Kamillaova"; + githubId = 54859825; + keys = [{ + fingerprint = "B2D0 AA53 8DBE 60B0 0811 3FC0 2D52 5F67 791E 5834"; + }]; + }; kampfschlaefer = { email = "arnold@arnoldarts.de"; github = "kampfschlaefer"; @@ -9439,12 +10335,22 @@ githubId = 15855440; name = "Keanu Ashwell"; }; + katanallama = { + github = "katanallama"; + githubId = 70604257; + name = "katanallama"; + }; katexochen = { github = "katexochen"; githubId = 49727155; matrix = "@katexochen:matrix.org"; name = "Paul Meyer"; }; + katrinafyi = { + name = "katrinafyi"; + github = "katrinafyi"; + githubId = 39479354; + }; kayhide = { email = "kayhide@gmail.com"; github = "kayhide"; @@ -9482,29 +10388,12 @@ github = "keenanweaver"; githubId = 37268985; }; - keksbg = { - email = "keksbg@riseup.net"; - name = "Stella"; - github = "keksbg"; - githubId = 10682187; - keys = [{ - fingerprint = "AB42 1F18 5A19 A160 AD77 9885 3D6D CA5B 6F2C 2A7A"; - }]; - }; keldu = { email = "mail@keldu.de"; github = "keldu"; githubId = 15373888; name = "Claudius Holeksa"; }; - ken-matsui = { - github = "ken-matsui"; - githubId = 26405363; - name = "Ken Matsui"; - keys = [{ - fingerprint = "3611 8CD3 6DE8 3334 B44A DDE4 1033 60B3 298E E433"; - }]; - }; kennyballou = { email = "kb@devnulllabs.io"; github = "kennyballou"; @@ -9550,6 +10439,9 @@ github = "kevincox"; githubId = 494012; name = "Kevin Cox"; + keys = [{ + fingerprint = "B66B 891D D83B 0E67 7D84 FC30 9BB9 2CC1 552E 99AA"; + }]; }; kevingriffin = { email = "me@kevin.jp"; @@ -9653,6 +10545,12 @@ githubId = 845652; name = "Kier Davis"; }; + kiike = { + email = "me@enric.me"; + github = "kiike"; + githubId = 464625; + name = "Enric Morales"; + }; kilianar = { email = "mail@kilianar.de"; github = "kilianar"; @@ -9707,6 +10605,12 @@ githubId = 691290; name = "Keshav Kini"; }; + kintrix = { + email = "kintrix007@proton.me"; + github = "kintrix007"; + githubId = 60898798; + name = "kintrix"; + }; kinzoku = { email = "kinzokudev4869@gmail.com"; github = "kinzoku-dev"; @@ -9906,6 +10810,12 @@ githubId = 264372; name = "Jan van den Berg"; }; + koppor = { + email = "kopp.dev@gmail.com"; + github = "koppor"; + githubId = 1366654; + name = "Oliver Kopp"; + }; koral = { email = "koral@mailoo.org"; github = "k0ral"; @@ -9996,6 +10906,13 @@ githubId = 22116767; name = "Kritnich"; }; + krloer = { + email = "kriloneri@gmail.com"; + github = "krloer"; + githubId = 45591621; + name = "Kristoffer Longva Eriksen"; + matrix = "@krisleri:pvv.ntnu.no"; + }; kroell = { email = "nixosmainter@makroell.de"; github = "rokk4"; @@ -10044,6 +10961,21 @@ githubId = 894884; name = "Jakub Kozłowski"; }; + kud = { + email = "kasa7qi@gmail.com"; + github = "KUD-00"; + githubId = 70764075; + name = "kud"; + }; + kugland = { + email = "kugland@gmail.com"; + github = "kugland"; + githubId = 1173932; + name = "André Kugland"; + keys = [{ + fingerprint = "6A62 5E60 E3FF FCAE B3AA 50DC 1DA9 3817 80CD D833"; + }]; + }; kupac = { github = "Kupac"; githubId = 8224569; @@ -10067,6 +10999,12 @@ githubId = 449813; name = "Roman Kuznetsov"; }; + kuznetsss = { + email = "kuzzz99@gmail.com"; + github = "kuznetsss"; + githubId = 15742918; + name = "Sergey Kuznetsov"; + }; kwohlfahrt = { email = "kai.wohlfahrt@gmail.com"; github = "kwohlfahrt"; @@ -10127,6 +11065,12 @@ }]; name = "Yaroslav Bolyukin"; }; + lachrymal = { + email = "lachrymalfutura@gmail.com"; + name = "lachrymaL"; + github = "lachrymaLF"; + githubId = 13716477; + }; lafrenierejm = { email = "joseph@lafreniere.xyz"; github = "lafrenierejm"; @@ -10165,6 +11109,12 @@ githubId = 695526; name = "Benjamin Kober"; }; + lampros = { + email = "hauahx@gmail.com"; + github = "LamprosPitsillos"; + githubId = 61395246; + name = "Lampros Pitsillos"; + }; larsr = { email = "Lars.Rasmusson@gmail.com"; github = "larsr"; @@ -10206,6 +11156,12 @@ githubId = 21087104; name = "Laurent Fainsin"; }; + lavafroth = { + email = "lavafroth@protonmail.com"; + github = "lavafroth"; + githubId = 107522312; + name = "Himadri Bhattacharjee"; + }; layus = { email = "layus.on@gmail.com"; github = "layus"; @@ -10332,6 +11288,14 @@ githubId = 31388299; name = "Leonardo Eugênio"; }; + leo248 = { + github ="leo248"; + githubId = 95365184; + keys = [{ + fingerprint = "81E3 418D C1A2 9687 2C4D 96DC BB1A 818F F295 26D2"; + }]; + name = "leo248"; + }; leo60228 = { email = "leo@60228.dev"; matrix = "@leo60228:matrix.org"; @@ -10360,6 +11324,15 @@ githubId = 77865363; name = "Leonid Belyaev"; }; + leonm1 = { + github = "leonm1"; + githubId = 32306579; + keys = [{ + fingerprint = "C12D F14B DC9D 64E1 44C3 4D8A 755C DA4E 5923 416A"; + }]; + matrix = "@mattleon:matrix.org"; + name = "Matt Leon"; + }; leshainc = { email = "leshainc@fomalhaut.me"; github = "LeshaInc"; @@ -10430,6 +11403,15 @@ githubId = 1769386; name = "Liam Diprose"; }; + liassica = { + email = "git-commit.jingle869@aleeas.com"; + github = "Liassica"; + githubId = 115422798; + name = "Liassica"; + keys = [{ + fingerprint = "83BE 3033 6164 B971 FA82 7036 0D34 0E59 4980 7BDD"; + }]; + }; liberatys = { email = "liberatys@hey.com"; name = "Nick Anthony Flueckiger"; @@ -10468,6 +11450,12 @@ name = "Yanning Chen"; matrix = "@self:lightquantum.me"; }; + Ligthiago = { + email = "donets.andre@gmail.com"; + github = "Ligthiago"; + githubId = 142721811; + name = "Andrey Donets"; + }; lihop = { email = "nixos@leroy.geek.nz"; github = "lihop"; @@ -10485,6 +11473,12 @@ fingerprint = "92D8 A09D 03DD B774 AABD 53B9 E136 2F07 D750 DB5C"; }]; }; + lilacious = { + email = "yuchenhe126@gmail.com"; + github = "Lilacious"; + githubId = 101508537; + name = "Yuchen He"; + }; lillycham = { email = "lillycat332@gmail.com"; github = "lillycat332"; @@ -10526,6 +11520,13 @@ fingerprint = "80EE AAD8 43F9 3097 24B5 3D7E 27E9 7B91 E63A 7FF8"; }]; }; + link2xt = { + email = "link2xt@testrun.org"; + githubId = 18373967; + github = "link2xt"; + matrix = "@link2xt:matrix.org"; + name = "link2xt"; + }; linquize = { email = "linquize@yahoo.com.hk"; github = "linquize"; @@ -10557,6 +11558,12 @@ githubId = 591860; name = "Lionello Lunesu"; }; + litchipi = { + email = "litchi.pi@proton.me"; + github = "litchipi"; + githubId = 61109829; + name = "Litchi Pi"; + }; livnev = { email = "lev@liv.nev.org.uk"; github = "livnev"; @@ -10659,6 +11666,12 @@ github = "LongerHV"; githubId = 46924944; }; + lonyelon = { + email = "sergio@lony.xyz"; + name = "Sergio Miguéns Iglesias"; + github = "lonyelon"; + githubId = 18664655; + }; lopsided98 = { email = "benwolsieffer@gmail.com"; github = "lopsided98"; @@ -10701,15 +11714,6 @@ githubId = 4969294; name = "Louis Tim Larsen"; }; - lourkeur = { - name = "Louis Bettens"; - email = "louis@bettens.info"; - github = "lourkeur"; - githubId = 15657735; - keys = [{ - fingerprint = "5B93 9CFA E8FC 4D8F E07A 3AEA DFE1 D4A0 1733 7E2A"; - }]; - }; loveisgrief = { name = "LoveIsGrief"; email = "loveisgrief@tuta.io"; @@ -10800,6 +11804,21 @@ githubId = 35580196; name = "Luca Guerra"; }; + lucasbergman = { + email = "lucas@bergmans.us"; + github = "lucasbergman"; + githubId = 3717454; + name = "Lucas Bergman"; + }; + lucas-deangelis = { + email = "deangelis.lucas@outlook.com"; + github = "lucas-deangelis"; + githubId = 55180995; + name = "Lucas De Angelis"; + keys = [{ + fingerprint = "3C8B D3AD 93BB 1F36 B8FF 30BD 8627 E5ED F74B 5BF4"; + }]; + }; lucasew = { email = "lucas59356@gmail.com"; github = "lucasew"; @@ -10866,12 +11885,6 @@ githubId = 5767106; name = "Lukas Schmidt"; }; - luis = { - email = "luis.nixos@gmail.com"; - github = "Luis-Hebendanz"; - githubId = 22085373; - name = "Luis Hebendanz"; - }; luisdaranda = { email = "luisdomingoaranda@gmail.com"; github = "propet"; @@ -10916,6 +11929,12 @@ githubId = 30468956; name = "Lukas Heiligenbrunner"; }; + lukaslihotzki = { + email = "lukas@lihotzki.de"; + github = "lukaslihotzki"; + githubId = 10326063; + name = "Lukas Lihotzki"; + }; lukaswrz = { email = "lukas@wrz.one"; github = "lukaswrz"; @@ -10947,6 +11966,12 @@ githubId = 2486026; name = "Luca Fulchir"; }; + luleyleo = { + email = "git@leopoldluley.de"; + github = "luleyleo"; + githubId = 10746692; + name = "Leopold Luley"; + }; lumi = { email = "lumi@pew.im"; github = "lumi-me-not"; @@ -11020,6 +12045,12 @@ githubId = 7910815; name = "Alex McGrath"; }; + lychee = { + email = "itslychee+nixpkgs@protonmail.com"; + githubId = 82718618; + github = "itslychee"; + name = "Lychee"; + }; lynty = { email = "ltdong93+nix@gmail.com"; github = "Lynty"; @@ -11057,6 +12088,15 @@ githubId = 42545625; name = "Maas Lalani"; }; + mabster314 = { + name = "Max Haland"; + email = "max@haland.org"; + github = "mabster314"; + githubId = 5741741; + keys = [{ + fingerprint = "71EF 8F1F 0C24 8B4D 5CDC 1B47 74B3 D790 77EE 37A8"; + }]; + }; macalinao = { email = "me@ianm.com"; name = "Ian Macalinao"; @@ -11188,6 +12228,12 @@ githubId = 1780588; name = "Malte Poll"; }; + maltejanz = { + email = "service.malte.j@protonmail.com"; + github = "MalteJanz"; + githubId = 18661391; + name = "Malte Janz"; + }; malte-v = { email = "nixpkgs@mal.tc"; github = "malte-v"; @@ -11200,6 +12246,12 @@ githubId = 346094; name = "Michael Alyn Miller"; }; + mandos = { + email = "marek.maksimczyk@mandos.net.pl"; + github = "mandos"; + githubId = 115060; + name = "Marek Maksimczyk"; + }; mangoiv = { email = "contact@mangoiv.com"; github = "mangoiv"; @@ -11238,6 +12290,12 @@ githubId = 1651325; name = "maralorn"; }; + marble = { + email = "nixpkgs@computer-in.love"; + github = "cyber-murmel"; + githubId = 30078229; + name = "marble"; + }; marcovergueira = { email = "vergueira.marco@gmail.com"; github = "marcovergueira"; @@ -11317,10 +12375,11 @@ githubId = 26470037; name = "Markus Kowalewski"; }; - marsam = { - github = "marsam"; - githubId = 65531; - name = "Mario Rodas"; + marmolak = { + email = "hack.robin@gmail.com"; + github = "marmolak"; + githubId = 1709273; + name = "Robin Hack"; }; marsupialgutz = { email = "mars@possums.xyz"; @@ -11346,11 +12405,11 @@ githubId = 1729331; name = "Dominique Martinet"; }; - martingms = { - email = "martin@mg.am"; - github = "martingms"; - githubId = 458783; - name = "Martin Gammelsæter"; + martinjlowm = { + email = "martin@martinjlowm.dk"; + github = "martinjlowm"; + githubId = 110860; + name = "Martin Jesper Low Madsen"; }; martinramm = { email = "martin-ramm@gmx.de"; @@ -11512,6 +12571,12 @@ githubId = 279868; name = "Matti Kariluoma"; }; + mattpolzin = { + email = "matt.polzin@gmail.com"; + github = "mattpolzin"; + githubId = 2075353; + name = "Matt Polzin"; + }; matt-snider = { email = "matt.snider@protonmail.com"; github = "matt-snider"; @@ -11753,6 +12818,12 @@ fingerprint = "D709 03C8 0BE9 ACDC 14F0 3BFB 77BF E531 397E DE94"; }]; }; + mdorman = { + email = "mdorman@jaunder.io"; + github = "mdorman"; + githubId = 333344; + name = "Michael Alan Dorman"; + }; mdr = { email = "MattRussellUK@gmail.com"; github = "mdr"; @@ -11778,6 +12849,18 @@ githubId = 4641445; name = "Carlo Nucera"; }; + medv = { + email = "mikhail.advent@gmail.com"; + github = "medv"; + githubId = 1631737; + name = "Mikhail Medvedev"; + }; + meebey = { + email = "meebey@meebey.net"; + github = "meebey"; + githubId = 318066; + name = "Mirco Bauer"; + }; megheaiulian = { email = "iulian.meghea@gmail.com"; github = "megheaiulian"; @@ -11820,12 +12903,27 @@ githubId = 15093162; name = "Melanie B. Sigl"; }; + melvyn2 = { + email = "melvyn2@dnsense.pub"; + github = "melvyn2"; + githubId = 9157412; + name = "melvyn"; + keys = [{ + fingerprint = "232B 9F00 2153 CA86 849C 9224 25A2 B728 0CE3 AFF6"; + }]; + }; mephistophiles = { email = "mussitantesmortem@gmail.com"; name = "Maxim Zhukov"; github = "Mephistophiles"; githubId = 4850908; }; + mevatron = { + email = "mevatron@gmail.com"; + name = "mevatron"; + github = "mevatron"; + githubId = 714585; + }; mfossen = { email = "msfossen@gmail.com"; github = "mfossen"; @@ -11938,6 +13036,18 @@ github = "michaelBelsanti"; githubId = 62124625; }; + michaelBrunner = { + email = "michael.brunn3r@gmail.com"; + name = "Michael Brunner"; + github = "MichaelBrunn3r"; + githubId = 19626539; + }; + MichaelCDormann = { + email = "michael.c.dormann@gmail.com"; + name = "Michael Dormann"; + github = "MichaelCDormann"; + githubId = 12633081; + }; michaelCTS = { email = "michael.vogel@cts.co"; name = "Michael Vogel"; @@ -12029,6 +13139,12 @@ githubId = 635591; name = "Shahar Dawn Or"; }; + mihaimaruseac = { + email = "mihaimaruseac@gmail.com"; + github = "mihaimaruseac"; + githubId = 323199; + name = "Mihai Maruseac"; + }; mihnea-s = { email = "mihn.stn@gmail.com"; github = "mihnea-s"; @@ -12128,6 +13244,12 @@ githubId = 92937; name = "Breland Miley"; }; + minersebas = { + email = "scherthan_sebastian@web.de"; + github = "MinerSebas"; + githubId = 66798382; + name = "Sebastian Maximilian Scherthan"; + }; minijackson = { email = "minijackson@riseup.net"; github = "minijackson"; @@ -12212,6 +13334,12 @@ fingerprint = "7088 C742 1873 E0DB 97FF 17C2 245C AB70 B4C2 25E9"; }]; }; + mistydemeo = { + email = "misty@axo.dev"; + github = "mistydemeo"; + githubId = 780485; + name = "Misty De Méo"; + }; misuzu = { email = "bakalolka@gmail.com"; github = "misuzu"; @@ -12280,6 +13408,12 @@ fingerprint = "E90C BA34 55B3 6236 740C 038F 0D94 8CE1 9CF4 9C5F"; }]; }; + mksafavi = { + name = "MK Safavi"; + email = "mksafavi@gmail.com"; + github = "mksafavi"; + githubId = 50653293; + }; mktip = { email = "mo.issa.ok+nix@gmail.com"; github = "mktip"; @@ -12289,6 +13423,12 @@ fingerprint = "64BE BF11 96C3 DD7A 443E 8314 1DC0 82FA DE5B A863"; }]; }; + mlaradji = { + name = "Mohamed Laradji"; + email = "mlaradji@pm.me"; + github = "mlaradji"; + githubId = 33703663; + }; mlatus = { email = "wqseleven@gmail.com"; github = "Ninlives"; @@ -12428,6 +13568,12 @@ githubId = 830082; name = "Nathan Moos"; }; + moraxyc = { + name = "Moraxyc Xu"; + email = "nix@qaq.li"; + github = "Moraxyc"; + githubId = 69713071; + }; moredread = { email = "code@apb.name"; github = "Moredread"; @@ -12461,6 +13607,16 @@ githubId = 10601196; name = "Jérémie Ferry"; }; + motiejus = { + email = "motiejus@jakstys.lt"; + github = "motiejus"; + githubId = 107720; + keys = [{ + fingerprint = "5F6B 7A8A 92A2 60A4 3704 9BEB 6F13 3A0C 1C28 48D7"; + }]; + matrix = "@motiejus:jakstys.lt"; + name = "Motiejus Jakštys"; + }; mounium = { email = "muoniurn@gmail.com"; github = "Mounium"; @@ -12806,6 +13962,14 @@ fingerprint = "9E6A 25F2 C1F2 9D76 ED00 1932 1261 173A 01E1 0298"; }]; }; + n8henrie = { + name = "Nathan Henrie"; + github = "n8henrie"; + githubId = 1234956; + "keys" = [{ + "fingerprint" = "F21A 6194 C9DB 9899 CD09 E24E 434B 2C14 B8C3 3422"; + }]; + }; nadir-ishiguro = { github = "nadir-ishiguro"; githubId = 23151917; @@ -12849,6 +14013,12 @@ githubId = 1222539; name = "Roman Naumann"; }; + nanotwerp = { + email = "nanotwerp@gmail.com"; + github = "nanotwerp"; + githubId = 17240342; + name = "Nano Twerpus"; + }; naphta = { github = "naphta"; githubId = 6709831; @@ -12911,6 +14081,10 @@ githubId = 56316606; name = "Amneesh Singh"; }; + nayala = { + name = "Nia"; + matrix = "@fly:asra.gr"; + }; nazarewk = { name = "Krzysztof Nazarewski"; matrix = "@nazarewk:matrix.org"; @@ -12966,6 +14140,18 @@ githubId = 77314501; name = "Maurice Zhou"; }; + nealfennimore = { + email = "hi@neal.codes"; + github = "nealfennimore"; + githubId = 5731551; + name = "Neal Fennimore"; + }; + Nebucatnetzer = { + email = "andreas+nixpkgs@zweili.ch"; + github = "Nebucatnetzer"; + githubId = 2287221; + name = "Andreas Zweili"; + }; Necior = { email = "adrian@sadlocha.eu"; github = "Necior"; @@ -13237,6 +14423,13 @@ githubId = 6391776; name = "Nikita Voloboev"; }; + niklaskorz = { + name = "Niklas Korz"; + email = "niklas@niklaskorz.de"; + matrix = "@niklaskorz:korz.dev"; + github = "niklaskorz"; + githubId = 590517; + }; NikolaMandic = { email = "nikola@mandic.email"; github = "NikolaMandic"; @@ -13301,6 +14494,11 @@ githubId = 3159451; name = "Nicolas Schneider"; }; + NIS = { + name = "NSC IT Solutions"; + github = "dev-nis"; + githubId = 132921300; + }; nitsky = { name = "nitsky"; github = "nitsky"; @@ -13366,6 +14564,12 @@ githubId = 6930756; name = "Nicolas Mattia"; }; + noaccos = { + name = "Francesco Noacco"; + email = "francesco.noacco2000@gmail.com"; + github = "noaccOS"; + githubId = 24324352; + }; nobbz = { name = "Norbert Melzer"; email = "timmelzer+nixpkgs@gmail.com"; @@ -13384,6 +14588,12 @@ githubId = 42322511; name = "Patryk Kwiatek"; }; + nokazn = { + email = "me@nokazn.me"; + github = "nokazn"; + githubId = 41154684; + name = "nokazn"; + }; nomeata = { email = "mail@joachim-breitner.de"; github = "nomeata"; @@ -13396,13 +14606,6 @@ githubId = 47303199; name = "Simon Gutgesell"; }; - noneucat = { - email = "andy@lolc.at"; - matrix = "@noneucat:lolc.at"; - github = "noneucat"; - githubId = 40049608; - name = "Andy Chun"; - }; noodlez1232 = { email = "contact@nathanielbarragan.xyz"; matrix = "@noodlez1232:matrix.org"; @@ -13505,6 +14708,13 @@ githubId = 13149442; name = "Nico Pulido-Mateo"; }; + nrabulinski = { + email = "1337-nix@nrab.lol"; + matrix = "@niko:nrab.lol"; + github = "nrabulinski"; + githubId = 24574288; + name = "Nikodem Rabuliński"; + }; nrdxp = { email = "tim.deh@pm.me"; matrix = "@timdeh:matrix.org"; @@ -13542,6 +14752,12 @@ githubId = 1839979; name = "Niklas Thörne"; }; + nudelsalat = { + email = "nudelsalat@clouz.de"; + name = "Fabian Dreßler"; + github = "Noodlesalat"; + githubId = 12748782; + }; nukaduka = { email = "ksgokte@gmail.com"; github = "NukaDuka"; @@ -13573,12 +14789,25 @@ github = "numkem"; githubId = 332423; }; + nu-nu-ko = { + email = "nuko@shimeji.cafe"; + matrix = "@nuko:shimeji.cafe"; + github = "nu-nu-ko"; + githubId = 153512689; + name = "nuko"; + }; nviets = { email = "nathan.g.viets@gmail.com"; github = "nviets"; githubId = 16027994; name = "Nathan Viets"; }; + nyadiia = { + email = "nyadiia@pm.me"; + github = "nyadiia"; + githubId = 43252360; + name = "Nadia"; + }; nyanbinary = { email = "nyanbinary@keemail.me"; matrix = "@niko:conduit.rs"; @@ -13604,6 +14833,12 @@ githubId = 127548; name = "Judson Lester"; }; + nyawox = { + name = "nyawox"; + email = "nyawox.git@gmail.com"; + github = "nyawox"; + githubId = 93813719; + }; nzbr = { email = "nixos@nzbr.de"; github = "nzbr"; @@ -13708,6 +14943,12 @@ githubId = 7249506; name = "oida"; }; + ok-nick = { + email = "nick.libraries@gmail.com"; + github = "ok-nick"; + githubId = 25470747; + name = "Nick"; + }; olcai = { email = "dev@timan.info"; github = "olcai"; @@ -13817,6 +15058,12 @@ github = "ony"; githubId = 11265; }; + oo-infty = { + name = "Justin Chen"; + email = "oo-infty@outlook.com"; + github = "oo-infty"; + githubId = 42143810; + }; ooliver1 = { name = "Oliver Wilkes"; email = "oliverwilkes2006@icloud.com"; @@ -13833,10 +15080,10 @@ name = "Sandro Stikić"; }; OPNA2608 = { - email = "christoph.neidahl@gmail.com"; + email = "opna2608@protonmail.com"; github = "OPNA2608"; githubId = 23431373; - name = "Christoph Neidahl"; + name = "Cosima Neidahl"; }; orbekk = { email = "kjetil.orbekk@gmail.com"; @@ -13894,6 +15141,12 @@ githubId = 111265; name = "Ozan Sener"; }; + osnyx = { + email = "os@flyingcircus.io"; + github = "osnyx"; + githubId = 104593071; + name = "Oliver Schmidt"; + }; ostrolucky = { email = "gabriel.ostrolucky@gmail.com"; github = "ostrolucky"; @@ -14142,6 +15395,12 @@ githubId = 15645854; name = "Brad Christensen"; }; + patwid = { + email = "patrick.widmer@tbwnet.ch"; + github = "patwid"; + githubId = 25278658; + name = "Patrick Widmer"; + }; paulsmith = { email = "paulsmith@pobox.com"; github = "paulsmith"; @@ -14165,12 +15424,6 @@ githubId = 116740; name = "Paweł Pacana"; }; - payas = { - email = "relekarpayas@gmail.com"; - github = "bhankas"; - githubId = 24254289; - name = "Payas Relekar"; - }; pb- = { email = "pbaecher@gmail.com"; github = "pb-"; @@ -14193,6 +15446,12 @@ fingerprint = "E005 48D5 D6AC 812C AAD2 AFFA 9C42 B05E 5913 60DC"; }]; }; + pbeucher = { + email = "pierre@crafteo.io"; + github = "PierreBeucher"; + githubId = 5041481; + name = "Pierre Beucher"; + }; pblkt = { email = "pebblekite@gmail.com"; github = "pblkt"; @@ -14218,18 +15477,36 @@ github = "pbsds"; githubId = 140964; }; + pca006132 = { + name = "pca006132"; + email = "john.lck40@gmail.com"; + github = "pca006132"; + githubId = 12198657; + }; pcarrier = { email = "pc@rrier.ca"; github = "pcarrier"; githubId = 8641; name = "Pierre Carrier"; }; + pcasaretto = { + email = "pcasaretto@gmail.com"; + github = "pcasaretto"; + githubId = 817039; + name = "Paulo Casaretto"; + }; pedrohlc = { email = "root@pedrohlc.com"; github = "PedroHLC"; githubId = 1368952; name = "Pedro Lara Campos"; }; + peefy = { + email = "xpf6677@gmail.com"; + github = "Peefy"; + githubId = 22744597; + name = "Peefy"; + }; peelz = { email = "peelz.dev+nixpkgs@gmail.com"; github = "notpeelz"; @@ -14260,6 +15537,17 @@ github = "pennae"; githubId = 82953136; }; + perchun = { + name = "Perchun Pak"; + email = "nixpkgs@perchun.it"; + github = "PerchunPak"; + githubId = 68118654; + }; + peret = { + name = "Peter Retzlaff"; + github = "peret"; + githubId = 617977; + }; periklis = { email = "theopompos@gmail.com"; github = "periklis"; @@ -14351,6 +15639,12 @@ fingerprint = "7756 E88F 3C6A 47A5 C5F0 CDFB AB54 6777 F93E 20BF"; }]; }; + phdyellow = { + name = "Phil Dyer"; + email = "phildyer@protonmail.com"; + github = "PhDyellow"; + githubId = 7740661; + }; phfroidmont = { name = "Paul-Henri Froidmont"; email = "nix.contact-j9dw4d@froidmont.org"; @@ -14361,6 +15655,12 @@ fingerprint = "3AC6 F170 F011 33CE 393B CD94 BE94 8AFD 7E78 73BE"; }]; }; + phijor = { + name = "Philipp Joram"; + email = "nixpkgs@phijor.me"; + github = "phijor"; + githubId = 10487782; + }; philandstuff = { email = "philip.g.potter@gmail.com"; github = "philandstuff"; @@ -14401,6 +15701,12 @@ githubId = 5737016; name = "Philipp Schuster"; }; + phlip9 = { + email = "philiphayes9@gmail.com"; + github = "phlip9"; + githubId = 918989; + name = "Philip Hayes"; + }; Phlogistique = { email = "noe.rubinstein@gmail.com"; github = "Phlogistique"; @@ -14559,6 +15865,12 @@ githubId = 610615; name = "Chih-Mao Chen"; }; + pkosel = { + name = "pkosel"; + email = "philipp.kosel@gmail.com"; + github = "pkosel"; + githubId = 170943; + }; pks = { email = "ps@pks.im"; github = "pks-t"; @@ -14574,15 +15886,6 @@ fingerprint = "B00F E582 FD3F 0732 EA48 3937 F558 14E4 D687 4375"; }]; }; - PlayerNameHere = { - name = "Dixon Sean Low Yan Feng"; - email = "dixonseanlow@protonmail.com"; - github = "dixslyf"; - githubId = 56017218; - keys = [{ - fingerprint = "E6F4 BFB4 8DE3 893F 68FC A15F FF5F 4B30 A41B BAC8"; - }]; - }; plchldr = { email = "mail@oddco.de"; github = "plchldr"; @@ -14767,6 +16070,12 @@ githubId = 4201956; name = "pongo1231"; }; + poptart = { + email = "poptart@hosakacorp.net"; + github = "terrorbyte"; + githubId = 1601039; + name = "Cale Black"; + }; portothree = { name = "Gustavo Porto"; email = "gus@p8s.co"; @@ -14832,6 +16141,16 @@ githubId = 11898437; name = "Florian Ströger"; }; + presto8 = { + name = "Preston Hunt"; + email = "me@prestonhunt.com"; + matrix = "@presto8:matrix.org"; + github = "presto8"; + githubId = 246631; + keys = [{ + fingerprint = "3E46 7EF1 54AA A1D0 C7DF A694 E45C B17F 1940 CA52"; + }]; + }; priegger = { email = "philipp@riegger.name"; github = "priegger"; @@ -14902,6 +16221,12 @@ githubId = 18549627; name = "Proglodyte"; }; + proglottis = { + email = "proglottis@gmail.com"; + github = "proglottis"; + githubId = 74465; + name = "James Fargher"; + }; progval = { email = "progval+nix@progval.net"; github = "progval"; @@ -15069,6 +16394,16 @@ githubId = 4579165; name = "Danny Bautista"; }; + pyrox0 = { + name = "Pyrox"; + email = "pyrox@pyrox.dev"; + matrix = "@pyrox:pyrox.dev"; + github = "pyrox0"; + githubId = 35778371; + keys = [{ + fingerprint = "4CA9 72FB ADC8 1416 0F10 3138 FE1D 8A7D 620C 611F"; + }]; + }; pyxels = { email = "pyxels.dev@gmail.com"; github = "Pyxels"; @@ -15098,7 +16433,7 @@ githubId = 10837173; }; qjoly = { - email = "github@thoughtless.eu"; + email = "github@une-pause-cafe.fr"; github = "qjoly"; githubId = 82603435; name = "Quentin JOLY"; @@ -15128,12 +16463,18 @@ name = "Jonathan Wright"; }; quantenzitrone = { - email = "quantenzitrone@protonmail.com"; + email = "nix@dev.quantenzitrone.eu"; github = "quantenzitrone"; githubId = 74491719; matrix = "@quantenzitrone:matrix.org"; name = "quantenzitrone"; }; + qubasa = { + email = "consulting@qube.email"; + github = "Qubasa"; + githubId = 22085373; + name = "Luis Hebendanz"; + }; queezle = { email = "git@queezle.net"; github = "queezle42"; @@ -15167,6 +16508,12 @@ githubId = 39039420; name = "Quinn Dougherty"; }; + qusic = { + email = "qusicx@gmail.com"; + github = "Qusic"; + githubId = 2141853; + name = "Bang Lee"; + }; qyliss = { email = "hi@alyssa.is"; github = "alyssais"; @@ -15177,6 +16524,13 @@ fingerprint = "7573 56D7 79BB B888 773E 415E 736C CDF9 EF51 BD97"; }]; }; + qyriad = { + email = "qyriad@qyriad.me"; + github = "Qyriad"; + githubId = 1542224; + matrix = "@qyriad:katesiria.org"; + name = "Qyriad"; + }; r3dl3g = { email = "redleg@rothfuss-web.de"; github = "r3dl3g"; @@ -15217,6 +16571,12 @@ github = "rafaelrc7"; githubId = 5376043; }; + rafameou = { + email = "rafaelmazz22@gmail.com"; + name = "Rafael Mazzutti"; + github = "rafameou"; + githubId = 26395874; + }; ragge = { email = "r.dahlen@gmail.com"; github = "ragnard"; @@ -15270,6 +16630,15 @@ githubId = 104558; name = "Benjamin Saunders"; }; + ramblurr = { + name = "Casey Link"; + email = "nix@caseylink.com"; + github = "Ramblurr"; + githubId = 14830; + keys = [{ + fingerprint = "978C 4D08 058B A26E B97C B518 2078 2DBC ACFA ACDA"; + }]; + }; ramkromberg = { email = "ramkromberg@mail.com"; github = "RamKromberg"; @@ -15314,6 +16683,12 @@ githubId = 11351304; name = "Ricardo Ardissone"; }; + raroh73 = { + email = "me@raroh73.com"; + github = "Raroh73"; + githubId = 96078496; + name = "Raroh73"; + }; rasendubi = { email = "rasen.dubi@gmail.com"; github = "rasendubi"; @@ -15326,18 +16701,46 @@ githubId = 1891350; name = "Michael Raskin"; }; + raspher = { + email = "raspher@protonmail.com"; + github = "raspher"; + githubId = 23345803; + name = "Szymon Scholz"; + }; + ratcornu = { + email = "ratcornu@skaven.org"; + github = "RatCornu"; + githubId = 98173832; + name = "Balthazar Patiachvili"; + matrix = "@ratcornu:skweel.skaven.org"; + keys = [{ + fingerprint = "1B91 F087 3D06 1319 D3D0 7F91 FA47 BDA2 6048 9ADA"; + }]; + }; ratsclub = { email = "victor@freire.dev.br"; github = "ratsclub"; githubId = 25647735; name = "Victor Freire"; }; + ravenz46 = { + email = "goldraven0406@gmail.com"; + github = "RAVENz46"; + githubId = 86608952; + name = "RAVENz46"; + }; rawkode = { email = "david.andrew.mckay@gmail.com"; github = "rawkode"; githubId = 145816; name = "David McKay"; }; + raylas = { + email = "r@raymond.sh"; + github = "raylas"; + githubId = 8099415; + name = "Raymond Douglas"; + }; rayslash = { email = "stevemathewjoy@tutanota.com"; github = "rayslash"; @@ -15485,6 +16888,12 @@ githubId = 801525; name = "rembo10"; }; + remexre = { + email = "nathan+nixpkgs@remexre.com"; + github = "remexre"; + githubId = 4196789; + name = "Nathan Ringo"; + }; renatoGarcia = { email = "fgarcia.renato@gmail.com"; github = "renatoGarcia"; @@ -15538,7 +16947,7 @@ }; RGBCube = { name = "RGBCube"; - email = "rgbsphere+nixpkgs@gmail.com"; + email = "nixpkgs@rgbcu.be"; github = "RGBCube"; githubId = 78925721; keys = [{ @@ -15551,6 +16960,11 @@ githubId = 811827; name = "Gabriel Lievano"; }; + rgri = { + name = "shortcut"; + github = "rgri"; + githubId = 45253749; + }; rgrinberg = { name = "Rudi Grinberg"; email = "me@rgrinberg.com"; @@ -15569,6 +16983,13 @@ githubId = 12279531; name = "Ricardo Guevara"; }; + rhelmot = { + name = "Audrey Dutcher"; + github = "rhelmot"; + githubId = 2498805; + email = "audrey@rhelmot.io"; + matrix = "@rhelmot:matrix.org"; + }; rhendric = { name = "Ryan Hendrickson"; github = "rhendric"; @@ -15605,6 +17026,11 @@ githubId = 61013287; name = "Ricardo Steijn"; }; + richar = { + github = "ri-char"; + githubId = 17962023; + name = "richar"; + }; richardipsum = { email = "richardipsum@fastmail.co.uk"; github = "richardipsum"; @@ -15654,6 +17080,12 @@ githubId = 37246692; name = "Riley Inman"; }; + rinx = { + email = "rintaro.okamura@gmail.com"; + github = "rinx"; + githubId = 1588935; + name = "Rintaro Okamura"; + }; riotbib = { email = "lennart@cope.cool"; github = "riotbib"; @@ -15693,6 +17125,12 @@ githubId = 7221768; name = "Andika Demas Riyandi"; }; + rjpcasalino = { + email = "ryan@rjpc.net"; + github = "rjpcasalino"; + githubId = 12821230; + name = "Ryan J.P. Casalino"; + }; rkitover = { email = "rkitover@gmail.com"; github = "rkitover"; @@ -15724,6 +17162,12 @@ githubId = 641278; name = "Robert T. McGibbon"; }; + rmgpinto = { + email = "hessian_loom_0u@icloud.com"; + github = "rmgpinto"; + githubId = 24584; + name = "Ricardo Gândara Pinto"; + }; rnhmjoj = { email = "rnhmjoj@inventati.org"; matrix = "@rnhmjoj:maxwell.ydns.eu"; @@ -15808,7 +17252,7 @@ name = "Robert Walter"; }; roconnor = { - email = "roconnor@theorem.ca"; + email = "roconnor@r6.ca"; github = "roconnor"; githubId = 852967; name = "Russell O'Connor"; @@ -15861,6 +17305,15 @@ githubId = 1312525; name = "Rongcui Dong"; }; + rookeur = { + email = "adrien.langou@hotmail.com"; + github = "Rookeur"; + githubId = 57438432; + name = "Adrien Langou"; + keys = [{ + fingerprint = "3B8F FC41 0094 2CB4 5A2A 7DF2 5A44 DA8F 9071 91B0"; + }]; + }; roosemberth = { email = "roosembert.palacios+nixpkgs@posteo.ch"; matrix = "@roosemberth:orbstheorem.ch"; @@ -15879,6 +17332,11 @@ fingerprint = "1401 1B63 393D 16C1 AA9C C521 8526 B757 4A53 6236"; }]; }; + rosehobgoblin = { + name = "J. L. Bowden"; + github = "rosehobgoblin"; + githubId = 84164410; + }; rossabaker = { name = "Ross A. Baker"; email = "ross@rossabaker.com"; @@ -15891,6 +17349,12 @@ github = "RossComputerGuy"; githubId = 19699320; }; + rostan-t = { + name = "Rostan Tabet"; + email = "rostan.tabet@gmail.com"; + github = "rostan-t"; + githubId = 30502549; + }; rotaerk = { name = "Matthew Stewart"; email = "m.scott.stewart@gmail.com"; @@ -15955,6 +17419,17 @@ github = "rski"; githubId = 2960312; }; + rsniezek = { + email = "radoslaw.sniezek@protonmail.com"; + github = "rsniezek"; + githubId = 19433256; + name = "Radoslaw Sniezek"; + }; + rster2002 = { + name = "Bjørn"; + github = "rster2002"; + githubId = 26026518; + }; rsynnest = { email = "contact@rsynnest.com"; github = "rsynnest"; @@ -15996,6 +17471,18 @@ github = "rubyowo"; githubId = 105302757; }; + rucadi = { + email = "ruben.canodiaz@gmail.com"; + github = "rucadi"; + githubId = 6445619; + name = "Ruben Cano Diaz"; + }; + RudiOnTheAir = { + name = "Rüdiger Schwoon"; + email = "wolf@schwoon.info"; + github = "RudiOnTheAir"; + githubId = 47517341; + }; rudolfvesely = { name = "Rudolf Vesely"; email = "i@rudolfvesely.com"; @@ -16016,7 +17503,7 @@ }; running-grass = { name = "Leo Liu"; - email = "467195537@qq.com"; + email = "hi@grass.show"; github = "running-grass"; githubId = 17241154; keys = [{ @@ -16035,6 +17522,12 @@ githubId = 2660; name = "Russell Sim"; }; + rutherther = { + name = "Rutherther"; + email = "rutherther@proton.me"; + github = "rutherther"; + githubId = 12197024; + }; ruuda = { email = "dev+nix@veniogames.com"; github = "ruuda"; @@ -16199,6 +17692,12 @@ github = "samalws"; githubId = 20981725; }; + samasaur = { + name = "Samasaur"; + email = "sam@samasaur.com"; + github = "Samasaur1"; + githubId = 30577766; + }; samb96 = { email = "samb96@gmail.com"; github = "samb96"; @@ -16263,6 +17762,15 @@ githubId = 132835; name = "Samuel Dionne-Riel"; }; + samuelefacenda = { + name = "Samuele Facenda"; + email = "samuele.facenda@gmail.com"; + github = "SamueleFacenda"; + githubId = 92163673; + keys = [{ + fingerprint = "3BA5 A3DB 3239 E2AC 1F3B 68A0 0DB8 3F58 B259 6271"; + }]; + }; samuel-martineau = { name = "Samuel Martineau"; email = "samuel@smartineau.me"; @@ -16305,6 +17813,18 @@ githubId = 1153271; name = "Sander van der Burg"; }; + Sanskarzz = { + email = "sanskar.gur@gmail.com"; + github = "Sanskarzz"; + githubId = 92817635; + name = "Sanskar Gurdasani"; + }; + sarahec = { + email = "seclark@nextquestion.net"; + github = "sarahec"; + githubId = 11277967; + name = "Sarah Clark"; + }; sarcasticadmin = { email = "rob@sarcasticadmin.com"; github = "sarcasticadmin"; @@ -16317,6 +17837,15 @@ githubId = 178904; name = "Daniel Ehlers"; }; + sascha8a = { + email = "sascha@localhost.systems"; + github = "sascha8a"; + githubId = 6937965; + name = "Alexander Lampalzer"; + keys = [{ + fingerprint = "0350 3136 E22C C561 30E3 A4AE 2087 9CCA CD5C D670"; + }]; + }; saschagrunert = { email = "mail@saschagrunert.de"; github = "saschagrunert"; @@ -16341,6 +17870,12 @@ githubId = 8534888; name = "Savanni D'Gerinel"; }; + savedra1 = { + email = "michaelsavedra@gmail.com"; + github = "savedra1"; + githubId = 99875823; + name = "Michael Savedra"; + }; savyajha = { email = "savya.jha@hawkradius.com"; github = "savyajha"; @@ -16478,11 +18013,11 @@ fingerprint = "E173 237A C782 296D 98F5 ADAC E13D FD4B 4712 7951"; }]; }; - scubed2 = { - email = "scubed2@gmail.com"; - github = "scubed2"; - githubId = 7401858; - name = "Sterling Stein"; + sdht0 = { + email = "nixpkgs@sdht.in"; + github = "sdht0"; + githubId = 867424; + name = "Siddhartha Sahu"; }; sdier = { email = "scott@dier.name"; @@ -16530,6 +18065,17 @@ fingerprint = "0AF6 4C3B 1F12 14B3 8C8C 5786 1FA2 DBE6 7438 7CC3"; }]; }; + sebrut = { + email = "kontakt@sebastian-rutofski.de"; + github = "sebrut"; + githubId = 3962409; + name = "Sebastian Rutofski"; + keys = [ + { + fingerprint = "F1D4 8061 2830 3AF6 42DC 3867 C37F 3374 2A95 C547"; + } + ]; + }; sebtm = { email = "mail@sebastian-sellmeier.de"; github = "SebTM"; @@ -16577,6 +18123,12 @@ githubId = 1286668; name = "Thilo Uttendorfer"; }; + sentientmonkey = { + email = "swindsor@gmail.com"; + github = "sentientmonkey"; + githubId = 9032; + name = "Scott Windsor"; + }; sents = { email = "finn@krein.moe"; github = "sents"; @@ -16639,6 +18191,11 @@ githubId = 863807; name = "Serge Guelton"; }; + sergioribera = { + github = "SergioRibera"; + githubId = 56278796; + name = "Sergio Ribera"; + }; sersorrel = { email = "ash@sorrel.sh"; github = "sersorrel"; @@ -16731,14 +18288,11 @@ matrix = "@shamrocklee:matrix.org"; name = "Yueh-Shun Li"; }; - shanesveller = { - email = "shane@sveller.dev"; - github = "shanesveller"; - githubId = 831; - keys = [{ - fingerprint = "F83C 407C ADC4 5A0F 1F2F 44E8 9210 C218 023C 15CD"; - }]; - name = "Shane Sveller"; + shard7 = { + email = "sh7user@gmail.com"; + github = "shard77"; + githubId = 106669955; + name = "Léon Gessner"; }; shardy = { email = "shardul@baral.ca"; @@ -16892,6 +18446,18 @@ github = "shymega"; githubId = 1334592; }; + siddarthkay = { + email = "siddarthkay@gmail.com"; + github = "siddarthkay"; + githubId = 64726664; + name = "Siddarth Kumar"; + }; + siddharthdhakane = { + email = "siddharthdhakane@gmail.com"; + github = "siddharthdhakane"; + githubId = 28101092; + name = "Siddharth Dhakane"; + }; siddharthist = { email = "langston.barrett@gmail.com"; github = "langston-barrett"; @@ -16931,6 +18497,7 @@ }; sikmir = { email = "sikmir@disroot.org"; + matrix = "@sikmir:matrix.org"; github = "sikmir"; githubId = 688044; name = "Nikolay Korotkiy"; @@ -16938,6 +18505,28 @@ fingerprint = "ADF4 C13D 0E36 1240 BD01 9B51 D1DE 6D7F 6936 63A5"; }]; }; + silky = { + name = "Noon van der Silk"; + email = "noonsilk+nixpkgs@gmail.com"; + github = "silky"; + githubId = 129525; + }; + sils = { + name = "Silas Schöffel"; + email = "sils@sils.li"; + matrix = "@sils:vhack.eu"; + github = "s1ls"; + githubId = 91412114; + keys = [{ + fingerprint = "C1DA A551 B422 7A6F 3FD9 6B3A 467B 7D12 9EA7 3AC9"; + }]; + }; + Silver-Golden = { + name = "Brendan Golden"; + email = "github+nixpkgs@brendan.ie"; + github = "Silver-Golden"; + githubId = 7858375; + }; simarra = { name = "simarra"; email = "loic.martel@protonmail.com"; @@ -16956,6 +18545,11 @@ githubId = 50401154; name = "Simone Ruffini"; }; + simonhammes = { + github = "simonhammes"; + githubId = 10352679; + name = "Simon Hammes"; + }; simonkampe = { email = "simon.kampe+nix@gmail.com"; github = "simonkampe"; @@ -16970,7 +18564,7 @@ }; sinanmohd = { name = "Sinan Mohd"; - email = "sinan@firemail.cc"; + email = "sinan@sinanmohd.com"; matrix = "@sinan:sinanmohd.com"; github = "sinanmohd"; githubId = 69694713; @@ -17071,6 +18665,17 @@ githubId = 3789764; name = "skykanin"; }; + skyrina = { + email = "sorryu02@gmail.com"; + github = "skyrina"; + githubId = 116099351; + name = "Skylar"; + }; + slam-bert = { + github = "slam-bert"; + githubId = 106779009; + name = "Slambert"; + }; slbtty = { email = "shenlebantongying@gmail.com"; github = "shenlebantongying"; @@ -17090,6 +18695,16 @@ githubId = 12828415; name = "Michel Weitbrecht"; }; + slotThe = { + name = "Tony Zorman"; + email = "tonyzorman@mailbox.org"; + github= "slotThe"; + matrix = "@slot-:matrix.org"; + githubId = 50166980; + keys = [{ + fingerprint = "4896 FB6C 9528 46C3 414C 2475 C927 DE8C 7DFD 57B8"; + }]; + }; slwst = { email = "email@slw.st"; github = "slwst"; @@ -17151,6 +18766,12 @@ fingerprint = "897E 6BE3 0345 B43D CADD 05B7 290F CF08 1AED B3EC"; }]; }; + smrehman = { + name = "Syed Moiz Ur Rehman"; + email = "smrehman@proton.me"; + github = "syedmoizurrehman"; + githubId = 17818950; + }; sna = { email = "abouzahra.9@wright.edu"; github = "S-NA"; @@ -17214,6 +18835,12 @@ githubId = 55726; name = "Stanislav Ochotnický"; }; + sodiboo = { + name = "sodiboo"; + github = "sodiboo"; + githubId = 37938646; + matrix = "@sodiboo:arcticfoxes.net"; + }; softinio = { email = "code@softinio.com"; github = "softinio"; @@ -17271,6 +18898,13 @@ githubId = 151924; name = "John Anderson"; }; + soopyc = { + name = "Cassie Cheung"; + email = "me@soopy.moe"; + github = "soopyc"; + githubId = 13762043; + matrix = "@sophie:nue.soopy.moe"; + }; sophrosyne = { email = "joshuaortiz@tutanota.com"; github = "sophrosyne97"; @@ -17305,6 +18939,12 @@ githubId = 20756843; name = "Sofi"; }; + soyouzpanda = { + name = "soyouzpanda"; + email = "soyouzpanda@soyouzpanda.fr"; + github = "soyouzpanda"; + githubId = 23421201; + }; soywod = { name = "Clément DOUIN"; email = "clement.douin@posteo.net"; @@ -17369,6 +19009,26 @@ githubId = 950799; name = "Tomasz Czyż"; }; + spitulax = { + name = "Bintang Adiputra Pratama"; + email = "bintangadiputrapratama@gmail.com"; + github = "spitulax"; + githubId = 96517350; + keys = [{ + fingerprint = "652F FAAD 5CB8 AF1D 3F96 9521 929E D6C4 0414 D3F5"; + }]; + }; + spk = { + email = "laurent@spkdev.net"; + github = "spk"; + githubId = 98590; + name = "Laurent Arnoud"; + }; + spoonbaker = { + github = "Spoonbaker"; + githubId = 47164123; + name = "Spoonbaker"; + }; sprock = { email = "rmason@mun.ca"; github = "sprock"; @@ -17469,11 +19129,17 @@ githubId = 6362238; name = "Christoph Honal"; }; - star-szr = { - email = "nixpkgs@szr.fastmail.com"; - github = "star-szr"; - githubId = 327943; - name = "Scott Zhu Reeves"; + starkca90 = { + email = "starkca90@gmail.com"; + github = "starkca90"; + githubId = 2060836; + name = "Casey Stark"; + }; + starsep = { + email = "nix@starsep.com"; + github = "starsep"; + githubId = 2798728; + name = "Filip Czaplicki"; }; starzation = { email = "nixpkgs@starzation.net"; @@ -17543,6 +19209,15 @@ githubId = 89950; name = "Stéphan Kochen"; }; + stephen-huan = { + name = "Stephen Huan"; + email = "stephen.huan@cgdct.moe"; + github = "stephen-huan"; + githubId = 20411956; + keys = [{ + fingerprint = "EA6E 2794 8C7D BF5D 0DF0 85A1 0FBC 2E3B A99D D60E"; + }]; + }; stephenmw = { email = "stephen@q5comm.com"; github = "stephenmw"; @@ -17649,6 +19324,12 @@ githubId = 38893265; name = "StrikerLulu"; }; + struan = { + email = "contact@struanrobertson.co.uk"; + github = "struan-robertson"; + githubId = 7543617; + name = "Struan Robertson"; + }; stteague = { email = "stteague505@yahoo.com"; github = "stteague"; @@ -17673,6 +19354,16 @@ githubId = 39732259; name = "Justus K"; }; + stv0g = { + name = "Steffen Vogel"; + email = "post@steffenvogel.de"; + matrix = "@stv0ge:matrix.org"; + github = "stv0g"; + githubId = 285829; + keys = [{ + fingerprint = "09BE 3BAE 8D55 D4CD 8579 285A 9675 EAC3 4897 E6E2"; + }]; + }; SubhrajyotiSen = { email = "subhrajyoti12@gmail.com"; github = "SubhrajyotiSen"; @@ -17709,12 +19400,25 @@ githubId = 1939855; name = "Kimmo Suominen"; }; + supa = { + email = "supa.codes@gmail.com"; + github = "0Supa"; + githubId = 36031171; + name = "Supa"; + }; superbo = { email = "supernbo@gmail.com"; github = "SuperBo"; githubId = 2666479; name = "Y Nguyen"; }; + superherointj = { + email = "sergiomarcelo@yandex.com"; + github = "superherointj"; + githubId = 5861043; + matrix = "@superherointj:matrix.org"; + name = "Sérgio Marcelo"; + }; SuperSandro2000 = { email = "sandro.jaeckel@gmail.com"; matrix = "@sandro:supersandro.de"; @@ -17800,6 +19504,12 @@ github = "sweenu"; githubId = 7051978; }; + swendel = { + name = "Sebastian Wendel"; + email = "nixpkgs.aiX5ph@srx.digital"; + github = "SebastianWendel"; + githubId = 919570; + }; swesterfeld = { email = "stefan@space.twc.de"; github = "swesterfeld"; @@ -17883,6 +19593,12 @@ fingerprint = "6866 981C 4992 4D64 D154 E1AC 19E5 A2D8 B1E4 3F19"; }]; }; + t4sm5n = { + email = "t4sm5n@gmail.com"; + github = "t4sm5n"; + githubId = 28858039; + name = "Tuomas Mäkinen"; + }; tadeokondrak = { email = "me@tadeo.ca"; github = "tadeokondrak"; @@ -17925,6 +19641,12 @@ githubId = 321799; name = "Paul Colomiets"; }; + takac = { + email = "cammann.tom@gmail.com"; + github = "takac"; + githubId = 1015381; + name = "Tom Cammann"; + }; takagiy = { email = "takagiy.4dev@gmail.com"; github = "takagiy"; @@ -17981,6 +19703,12 @@ githubId = 11619234; name = "Sergey Volkov"; }; + tarantoj = { + email = "taranto.james@gmail.com"; + github = "tarantoj"; + githubId = 13129552; + name = "James Taranto"; + }; tari = { email = "peter@taricorp.net"; github = "tari"; @@ -18062,6 +19790,18 @@ githubId = 2389333; name = "Andy Tockman"; }; + tcmal = { + email = "me@aria.rip"; + github = "tcmal"; + githubId = 4183876; + name = "Aria Shrimpton"; + }; + teatwig = { + email = "nix@teatwig.net"; + name = "tea"; + github = "teatwig"; + githubId = 18734648; + }; techknowlogick = { email = "techknowlogick@gitea.com"; github = "techknowlogick"; @@ -18234,6 +19974,15 @@ fingerprint = "D2A2 F0A1 E7A8 5E6F B711 DEE5 63A4 4817 A52E AB7B"; }]; }; + theaninova = { + name = "Thea Schöbl"; + email = "dev@theaninova.de"; + github = "Theaninova"; + githubId = 19289296; + keys = [{ + fingerprint = "6C9E EFC5 1AE0 0131 78DE B9C8 68FF FB1E C187 88CA"; + }]; + }; the-argus = { email = "i.mcfarlane2002@gmail.com"; github = "the-argus"; @@ -18265,15 +20014,12 @@ githubId = 42933; name = "Andrew Childs"; }; - thehedgeh0g = { - name = "The Hedgehog"; - email = "hedgehog@mrhedgehog.xyz"; - matrix = "@mrhedgehog:jupiterbroadcasting.com"; - github = "pyrox0"; - githubId = 35778371; - keys = [{ - fingerprint = "38A0 29B0 4A7E 4C13 A4BB 86C8 7D51 0786 6B1C 6752"; - }]; + thefossguy = { + name = "Pratham Patel"; + email = "prathampatel@thefossguy.com"; + matrix = "@thefossguy:matrix.org"; + github = "thefossguy"; + githubId = 44400303; }; thekostins = { name = "Konstantin"; @@ -18290,6 +20036,12 @@ githubId = 3105057; name = "Jan Beinke"; }; + themaxmur = { + name = "Maxim Muravev"; + email = "muravjev.mak@yandex.ru"; + github = "TheMaxMur"; + githubId = 31189199; + }; thenonameguy = { email = "thenonameguy24@gmail.com"; name = "Krisztian Szabo"; @@ -18543,12 +20295,6 @@ github = "tirimia"; githubId = 11174371; }; - titanous = { - email = "jonathan@titanous.com"; - github = "titanous"; - githubId = 13026; - name = "Jonathan Rudenberg"; - }; tjni = { email = "43ngvg@masqt.com"; matrix = "@tni:matrix.org"; @@ -18611,6 +20357,11 @@ githubId = 9853194; name = "Philipp Bartsch"; }; + toast = { + name = "Toast"; + github = "toast003"; + githubId = 39011842; + }; toastal = { email = "toastal+nix@posteo.net"; matrix = "@toastal:mozilla.org"; @@ -18639,12 +20390,6 @@ githubId = 74688871; name = "Tochukwu Ahanonu"; }; - tokudan = { - email = "git@danielfrank.net"; - github = "tokudan"; - githubId = 692610; - name = "Daniel Frank"; - }; tomahna = { email = "kevin.rauscher@tomahna.fr"; github = "Tomahna"; @@ -18654,6 +20399,7 @@ tomasajt = { github = "TomaSajt"; githubId = 62384384; + matrix = "@tomasajt:matrix.org"; name = "TomaSajt"; keys = [{ fingerprint = "8CA9 8016 F44D B717 5B44 6032 F011 163C 0501 22A1"; @@ -18957,6 +20703,12 @@ fingerprint = "E631 8869 586F 99B4 F6E6 D785 5942 58F0 389D 2802"; }]; }; + twitchy0 = { + email = "code@nitinpassa.com"; + github = "twitchy0"; + githubId = 131159000; + name = "Nitin Passa"; + }; twitchyliquid64 = { name = "Tom"; email = "twitchyliquid64@ciphersink.net"; @@ -18979,6 +20731,13 @@ matrix = "@ty:tjll.net"; name = "Tyler Langlois"; }; + tylervick = { + email = "nix@tylervick.com"; + github = "tylervick"; + githubId = 1395852; + name = "Tyler Vick"; + matrix = "@tylervick:matrix.org"; + }; tymscar = { email = "oscar@tymscar.com"; github = "tymscar"; @@ -18999,10 +20758,16 @@ }; uakci = { name = "uakci"; - email = "uakci@uakci.pl"; + email = "git@uakci.space"; github = "uakci"; githubId = 6961268; }; + uartman = { + name = "Anton Gusev"; + email = "uartman@mail.ru"; + github = "UARTman"; + githubId = 21099202; + }; udono = { email = "udono@virtual-things.biz"; github = "udono"; @@ -19020,6 +20785,17 @@ githubId = 1607770; name = "Ulrik Strid"; }; + umlx5h = { + github = "umlx5h"; + githubId = 20206121; + name = "umlx5h"; + }; + uncenter = { + name = "uncenter"; + email = "uncenter@uncenter.dev"; + github = "uncenter"; + githubId = 47499684; + }; unclamped = { name = "Maru"; email = "clear6860@tutanota.com"; @@ -19459,6 +21235,12 @@ githubId = 326263; name = "Danny Wilson"; }; + vizid = { + email = "vizid1337@gmail.com"; + github = "ViZiD"; + githubId = 7444430; + name = "Radik Islamov"; + }; vklquevs = { email = "vklquevs@gmail.com"; github = "vklquevs"; @@ -19495,7 +21277,15 @@ githubId = 13259982; name = "Vanessa McHale"; }; - + vncsb = { + email = "viniciusbernardino1@hotmail.com"; + github = "vncsb"; + githubId = 19562240; + name = "Vinicius Bernardino"; + keys = [{ + fingerprint = "F0D3 920C 722A 541F 0CCD 66E3 A7BA BA05 3D78 E7CA"; + }]; + }; voidless = { email = "julius.schmitt@yahoo.de"; github = "voidIess"; @@ -19544,6 +21334,12 @@ githubId = 357664; name = "Viktor Petersson"; }; + vpochapuis = { + email = "vincent.professional@chapuis.ovh"; + github = "vpochapuis"; + githubId = 75721408; + name = "Vincent Chapuis"; + }; vq = { email = "vq@erq.se"; github = "vq"; @@ -19796,6 +21592,16 @@ fingerprint = "DA03 D6C6 3F58 E796 AD26 E99B 366A 2940 479A 06FC"; }]; }; + willbush = { + email = "git@willbush.dev"; + matrix = "@willbush:matrix.org"; + github = "willbush"; + githubId = 2023546; + name = "Will Bush"; + keys = [{ + fingerprint = "4441 422E 61E4 C8F3 EBFE 5E33 3823 864B 54B1 3BDA"; + }]; + }; willcohen = { github = "willcohen"; githubId = 5185341; @@ -19890,6 +21696,12 @@ githubId = 15619766; name = "wldhx"; }; + w-lfchen = { + email = "w-lfchen@posteo.net"; + github = "w-lfchen"; + githubId = 115360611; + name = "Wölfchen"; + }; wmertens = { email = "Wout.Mertens@gmail.com"; github = "wmertens"; @@ -19926,6 +21738,15 @@ githubId = 8378365; name = "P. R. d. O."; }; + wolfgangwalther = { + name = "Wolfgang Walther"; + email = "walther@technowledgy.de"; + github = "wolfgangwalther"; + githubId = 9132420; + keys = [{ + fingerprint = "F943 A0BC 720C 5BEF 73CD E02D B398 93FA 5F65 CAE1"; + }]; + }; womfoo = { email = "kranium@gikos.net"; github = "womfoo"; @@ -20049,6 +21870,22 @@ githubId = 13489144; name = "Calle Rosenquist"; }; + xbz = { + email = "renatochavez7@gmail.com"; + github = "Xbz-24"; + githubId = 68678258; + name = "Renato German Chavez Chicoma"; + }; + xddxdd = { + email = "b980120@hotmail.com"; + github = "xddxdd"; + githubId = 5778879; + keys = [ + { fingerprint = "2306 7C13 B6AE BDD7 C0BB 5673 27F3 1700 E751 EC22"; } + { fingerprint = "B195 E8FB 873E 6020 DCD1 C0C6 B50E C319 385F CB0D"; } + ]; + name = "Yuhui Xu"; + }; xdhampus = { name = "Hampus"; github = "xdHampus"; @@ -20067,13 +21904,6 @@ githubId = 36407913; name = "Uli Baum"; }; - xfix = { - email = "kamila@borowska.pw"; - matrix = "@xfix:matrix.org"; - github = "xfix"; - githubId = 1297598; - name = "Kamila Borowska"; - }; xfnw = { email = "xfnw+nixos@riseup.net"; github = "xfnw"; @@ -20086,6 +21916,14 @@ githubId = 31734358; name = "Xavier Groleau"; }; + xgwq = { + name = "XGWQ"; + email = "nixos.xgwq@xnee.net"; + keys = [{ fingerprint = "6489 9EF2 A256 5C04 7426 686C 8337 A748 74EB E129"; }]; + matrix = "@xgwq:nerdberg.de"; + github = "peterablehmann"; + githubId = 36541313; + }; xiorcale = { email = "quentin.vaucher@pm.me"; github = "xiorcale"; @@ -20110,6 +21948,12 @@ githubId = 3028542; name = "Guillermo NWDD"; }; + xokdvium = { + email = "xokdvium@proton.me"; + github = "xokdvium"; + githubId = 145775305; + name = "Sergei Zimmerman"; + }; xrelkd = { github = "xrelkd"; githubId = 46590321; @@ -20162,9 +22006,15 @@ githubId = 973709; name = "Jairo Llopis"; }; + yamashitax = { + email = "hello@yamashit.ax"; + github = "yamashitax"; + githubId = 99486674; + name = "山下"; + }; yana = { email = "yana@riseup.net"; - github = "yanalunaterra"; + github = "yanateras"; githubId = 1643293; name = "Yana Timoshenko"; }; @@ -20174,6 +22024,12 @@ github = "yanganto"; githubId = 10803111; }; + yannickulrich = { + email = "yannick.ulrich@proton.me"; + github = "yannickulrich"; + githubId = 749922; + name = "Yannick Ulrich"; + }; yannip = { email = "yPapandreou7@gmail.com"; github = "YanniPapandreou"; @@ -20243,6 +22099,13 @@ githubId = 11229748; name = "Lin Yinfeng"; }; + yisraeldov = { + email = "lebow@lebowtech.com"; + name = "Yisrael Dov Lebow"; + github = "yisraeldov"; + githubId = 138219; + matrix = "@yisraeldov:matrix.org"; + }; yisuidenghua = { email = "bileiner@gmail.com"; name = "Milena Yisui"; @@ -20630,6 +22493,12 @@ githubId = 1108325; name = "Théo Zimmermann"; }; + zlepper = { + name = "Rasmus Hansen"; + github = "zlepper"; + githubId = 1499810; + email = "hansen13579@gmail.com"; + }; zmitchell = { name = "Zach Mitchell"; email = "zmitchell@fastmail.com"; @@ -20688,6 +22557,12 @@ githubId = 81353; name = "Alexandre Macabies"; }; + zoriya = { + email = "zoe.roux@zoriya.dev"; + github = "zoriya"; + githubId = 32224410; + name = "Zoe Roux"; + }; zowoq = { github = "zowoq"; githubId = 59103226; @@ -20699,6 +22574,12 @@ githubId = 8100652; name = "David Mell"; }; + zshipko = { + email = "zachshipko@gmail.com"; + github = "zshipko"; + githubId = 332534; + name = "Zach Shipko"; + }; ztzg = { email = "dd@crosstwine.com"; github = "ztzg"; diff --git a/maintainers/scripts/README.md b/maintainers/scripts/README.md index f8fc7aff955d3..1af4715b05bec 100644 --- a/maintainers/scripts/README.md +++ b/maintainers/scripts/README.md @@ -11,7 +11,7 @@ What follows is a (very incomplete) overview of available scripts. ### `check-by-name.sh` -An alias for `pkgs/test/nixpkgs-check-by-name/scripts/run-local.sh`, see [documentation](../../pkgs/test/nixpkgs-check-by-name/scripts/README.md). +An alias for `pkgs/test/check-by-name/run-local.sh`, see [documentation](../../pkgs/test/check-by-name/README.md). ### `get-maintainer.sh` diff --git a/maintainers/scripts/bootstrap-files/README.md b/maintainers/scripts/bootstrap-files/README.md new file mode 100644 index 0000000000000..7a1a2bef867c3 --- /dev/null +++ b/maintainers/scripts/bootstrap-files/README.md @@ -0,0 +1,77 @@ +# Bootstrap files + +Currently `nixpkgs` builds most of it's packages using bootstrap seed +binaries (without the reliance on external inputs): + +- `bootstrap-tools`: an archive with the compiler toolchain and other + helper tools enough to build the rest of the `nixpkgs`. +- initial binaries needed to unpack `bootstrap-tools.*`. On `linux` + it's just `busybox`, on `darwin` it is unpack.nar.xz which contains + the binaries and script needed to unpack the tools. These binaries + can be executed directly from the store. + +These are called "bootstrap files". + +Bootstrap files should always be fetched from hydra and uploaded to +`tarballs.nixos.org` to guarantee that all the binaries were built from +the code committed into `nixpkgs` repository. + +The uploads to `tarballs.nixos.org` are done by `@lovesegfault` today. + +This document describes the procedure of updating bootstrap files in +`nixpkgs`. + +## How to request the bootstrap seed update + +To get the tarballs updated let's use an example `i686-unknown-linux-gnu` +target: + +1. Create a local update: + + ``` + $ maintainers/scripts/bootstrap-files/refresh-tarballs.bash --commit --targets=i686-unknown-linux-gnu + ``` + +2. Test the update locally. I'll build local `hello` derivation with + the result: + + ``` + $ nix-build -A hello --argstr system i686-linux + ``` + + To validate cross-targets `binfmt` `NixOS` helper can be useful. + For `riscv64-unknown-linux-gnu` the `/etc/nixos/configuration.nix` + entry would be `boot.binfmt.emulatedSystems = [ "riscv64-linux" ]`. + +3. Propose the commit as a PR to update bootstrap tarballs, tag people + who can help you test the updated architecture and once reviewed tag + `@lovesegfault` to upload the tarballs. + +## Bootstrap files job definitions + +There are two types of bootstrap files: + +- natively built `stdenvBootstrapTools.build` hydra jobs in + [`nixpkgs:trunk`](https://hydra.nixos.org/jobset/nixpkgs/trunk#tabs-jobs) + jobset. Incomplete list of examples is: + + * `aarch64-unknown-linux-musl.nix` + * `i686-unknown-linux-gnu.nix` + + These are Tier 1 hydra platforms. + +- cross-built by `bootstrapTools.build` hydra jobs in + [`nixpkgs:cross-trunk`](https://hydra.nixos.org/jobset/nixpkgs/cross-trunk#tabs-jobs) + jobset. Incomplete list of examples is: + + * `mips64el-unknown-linux-gnuabi64.nix` + * `mips64el-unknown-linux-gnuabin32.nix` + * `mipsel-unknown-linux-gnu.nix` + * `powerpc64le-unknown-linux-gnu.nix` + * `riscv64-unknown-linux-gnu.nix` + + These are usually Tier 2 and lower targets. + +The `.build` job contains `/on-server/` subdirectory with binaries to +be uploaded to `tarballs.nixos.org`. +The files are uploaded to `tarballs.nixos.org` by writers to `S3` store. diff --git a/maintainers/scripts/bootstrap-files/refresh-tarballs.bash b/maintainers/scripts/bootstrap-files/refresh-tarballs.bash new file mode 100755 index 0000000000000..e7bf27f240467 --- /dev/null +++ b/maintainers/scripts/bootstrap-files/refresh-tarballs.bash @@ -0,0 +1,310 @@ +#!/usr/bin/env nix-shell +#! nix-shell --pure +#! nix-shell -i bash +#! nix-shell -p curl cacert +#! nix-shell -p git +#! nix-shell -p nix +#! nix-shell -p jq + +set -o pipefail + +# How the refresher works: +# +# For a given list of <targets>: +# 1. fetch latest successful '.build` job +# 2. fetch oldest evaluation that contained that '.build', extract nixpkgs commit +# 3. fetch all the `.build` artifacts from '$out/on-server/' directory +# 4. calculate hashes and craft the commit message with the details on +# how to upload the result to 'tarballs.nixos.org' + +scratch_dir=$(mktemp -d) +trap 'rm -rf -- "${scratch_dir}"' EXIT + +usage() { + cat >&2 <<EOF +Usage: + $0 [ --commit ] --targets=<target>[,<target>,...] + + The tool must be ran from the root directory of 'nixpkgs' repository. + +Synopsis: + 'refresh-tarballs.bash' script fetches latest bootstrapFiles built + by hydra, registers them in 'nixpkgs' and provides commands to + upload seed files to 'tarballs.nixos.org'. + + This is usually done in the following cases: + + 1. Single target fix: current bootstrap files for a single target + are problematic for some reason (target-specific bug). In this + case we can refresh just that target as: + + \$ $0 --commit --targets=i686-unknown-linux-gnu + + 2. Routine refresh: all bootstrap files should be refreshed to avoid + debugging problems that only occur on very old binaries. + + \$ $0 --commit --all-targets + +To get help on uploading refreshed binaries to 'tarballs.nixos.org' +please have a look at <maintainers/scripts/bootstrap-files/README.md>. +EOF + exit 1 +} + +# log helpers + +die() { + echo "ERROR: $*" >&2 + exit 1 +} + +info() { + echo "INFO: $*" >&2 +} + +[[ ${#@} -eq 0 ]] && usage + +# known targets + +NATIVE_TARGETS=( + aarch64-unknown-linux-gnu + aarch64-unknown-linux-musl + i686-unknown-linux-gnu + x86_64-unknown-linux-gnu + x86_64-unknown-linux-musl + aarch64-apple-darwin + x86_64-apple-darwin +) + +is_native() { + local t target=$1 + for t in "${NATIVE_TARGETS[@]}"; do + [[ $t == $target ]] && return 0 + done + return 1 +} + +CROSS_TARGETS=( + armv5tel-unknown-linux-gnueabi + armv6l-unknown-linux-gnueabihf + armv6l-unknown-linux-musleabihf + armv7l-unknown-linux-gnueabihf + mips64el-unknown-linux-gnuabi64 + mips64el-unknown-linux-gnuabin32 + mipsel-unknown-linux-gnu + powerpc64-unknown-linux-gnuabielfv2 + powerpc64le-unknown-linux-gnu + riscv64-unknown-linux-gnu +) + +is_cross() { + local t target=$1 + for t in "${CROSS_TARGETS[@]}"; do + [[ $t == $target ]] && return 0 + done + return 1 +} + +nar_sri_get() { + local restore_path store_path + ((${#@} != 2)) && die "nar_sri_get /path/to/name.nar.xz name" + restore_path="${scratch_dir}/$2" + xz -d < "$1" | nix-store --restore "${restore_path}" + [[ $? -ne 0 ]] && die "Failed to unpack '$1'" + + store_path=$(nix-store --add "${restore_path}") + [[ $? -ne 0 ]] && die "Failed to add '$restore_path' to store" + rm -rf -- "${restore_path}" + + nix-hash --to-sri "$(nix-store --query --hash "${store_path}")" +} + +# collect passed options + +targets=() +commit=no + +for arg in "$@"; do + case "$arg" in + --all-targets) + targets+=( + ${CROSS_TARGETS[@]} + ${NATIVE_TARGETS[@]} + ) + ;; + --targets=*) + # Convert "--targets=a,b,c" to targets=(a b c) bash array. + comma_targets=${arg#--targets=} + targets+=(${comma_targets//,/ }) + ;; + --commit) + commit=yes + ;; + *) + usage + ;; + esac +done + +for target in "${targets[@]}"; do + # Native and cross jobsets differ a bit. We'll have to pick the + # one based on target name: + if is_native $target; then + jobset=nixpkgs/trunk + job="stdenvBootstrapTools.${target}.build" + elif is_cross $target; then + jobset=nixpkgs/cross-trunk + job="bootstrapTools.${target}.build" + else + die "'$target' is not present in either of 'NATIVE_TARGETS' or 'CROSS_TARGETS'. Please add one." + fi + + # 'nixpkgs' prefix where we will write new tarball hashes + case "$target" in + *linux*) nixpkgs_prefix="pkgs/stdenv/linux" ;; + *darwin*) nixpkgs_prefix="pkgs/stdenv/darwin" ;; + *) die "don't know where to put '$target'" ;; + esac + + # We enforce s3 prefix for all targets here. This slightly differs + # from manual uploads targets where names were chosen inconsistently. + s3_prefix="stdenv/$target" + + # resolve 'latest' build to the build 'id', construct the link. + latest_build_uri="https://hydra.nixos.org/job/$jobset/$job/latest" + latest_build="$target.latest-build" + info "Fetching latest successful build from '${latest_build_uri}'" + curl -s -H "Content-Type: application/json" -L "$latest_build_uri" > "$latest_build" + [[ $? -ne 0 ]] && die "Failed to fetch latest successful build" + latest_build_id=$(jq '.id' < "$latest_build") + [[ $? -ne 0 ]] && die "Did not find 'id' in latest build" + build_uri="https://hydra.nixos.org/build/${latest_build_id}" + + # We pick oldest jobset evaluation and extract the 'nicpkgs' commit. + # + # We use oldest instead of latest to make the result more stable + # across unrelated 'nixpkgs' updates. Ideally two subsequent runs of + # this refresher should produce the same output (provided there are + # no bootstrapTools updates committed between the two runs). + oldest_eval_id=$(jq '.jobsetevals|min' < "$latest_build") + [[ $? -ne 0 ]] && die "Did not find 'jobsetevals' in latest build" + eval_uri="https://hydra.nixos.org/eval/${oldest_eval_id}" + eval_meta="$target.eval-meta" + info "Fetching oldest eval details from '${eval_uri}' (can take a minute)" + curl -s -H "Content-Type: application/json" -L "${eval_uri}" > "$eval_meta" + [[ $? -ne 0 ]] && die "Failed to fetch eval metadata" + nixpkgs_revision=$(jq --raw-output ".jobsetevalinputs.nixpkgs.revision" < "$eval_meta") + [[ $? -ne 0 ]] && die "Failed to fetch revision" + + # Extract the build paths out of the build metadata + drvpath=$(jq --raw-output '.drvpath' < "${latest_build}") + [[ $? -ne 0 ]] && die "Did not find 'drvpath' in latest build" + outpath=$(jq --raw-output '.buildoutputs.out.path' < "${latest_build}") + [[ $? -ne 0 ]] && die "Did not find 'buildoutputs' in latest build" + build_timestamp=$(jq --raw-output '.timestamp' < "${latest_build}") + [[ $? -ne 0 ]] && die "Did not find 'timestamp' in latest build" + build_time=$(TZ=UTC LANG=C date --date="@${build_timestamp}" --rfc-email) + [[ $? -ne 0 ]] && die "Failed to format timestamp" + + info "Fetching bootstrap tools to calculate hashes from '${outpath}'" + nix-store --realize "$outpath" + [[ $? -ne 0 ]] && die "Failed to fetch '${outpath}' from hydra" + + fnames=() + + target_file="${nixpkgs_prefix}/bootstrap-files/${target}.nix" + info "Writing '${target_file}'" + { + # header + cat <<EOF +# Autogenerated by maintainers/scripts/bootstrap-files/refresh-tarballs.bash as: +# $ ./refresh-tarballs.bash --targets=${target} +# +# Metadata: +# - nixpkgs revision: ${nixpkgs_revision} +# - hydra build: ${latest_build_uri} +# - resolved hydra build: ${build_uri} +# - instantiated derivation: ${drvpath} +# - output directory: ${outpath} +# - build time: ${build_time} +{ +EOF + for p in "${outpath}/on-server"/*; do + fname=$(basename "$p") + fnames+=("$fname") + case "$fname" in + bootstrap-tools.tar.xz) attr=bootstrapTools ;; + busybox) attr=$fname ;; + unpack.nar.xz) attr=unpack ;; + *) die "Don't know how to map '$fname' to attribute name. Please update me." + esac + + executable_arg= + executable_nix= + if [[ -x "$p" ]]; then + executable_arg="--executable" + executable_nix="executable = true;" + fi + unpack_nix= + name_nix= + if [[ $fname = *.nar.xz ]]; then + unpack_nix="unpack = true;" + name_nix="name = \"${fname%.nar.xz}\";" + sri=$(nar_sri_get "$p" "${fname%.nar.xz}") + [[ $? -ne 0 ]] && die "Failed to get hash of '$p'" + else + sha256=$(nix-prefetch-url $executable_arg --name "$fname" "file://$p") + [[ $? -ne 0 ]] && die "Failed to get the hash for '$p'" + sri=$(nix-hash --to-sri "sha256:$sha256") + [[ $? -ne 0 ]] && die "Failed to convert '$sha256' hash to an SRI form" + fi + + # individual file entries + cat <<EOF + $attr = import <nix/fetchurl.nix> { + url = "http://tarballs.nixos.org/${s3_prefix}/${nixpkgs_revision}/$fname"; + hash = "${sri}";$( + [[ -n ${executable_nix} ]] && printf "\n %s" "${executable_nix}" + [[ -n ${name_nix} ]] && printf "\n %s" "${name_nix}" + [[ -n ${unpack_nix} ]] && printf "\n %s" "${unpack_nix}" +) + }; +EOF + done + # footer + cat <<EOF +} +EOF + } > "${target_file}" + + target_file_commit_msg=${target}.commit_message + cat > "$target_file_commit_msg" <<EOF +${nixpkgs_prefix}: update ${target} bootstrap-files + +sha256sum of files to be uploaded: + +$( +echo "$ sha256sum ${outpath}/on-server/*" +sha256sum ${outpath}/on-server/* +) + +Suggested commands to upload files to 'tarballs.nixos.org': + + $ nix-store --realize ${outpath} + $ aws s3 cp --recursive --acl public-read ${outpath}/on-server/ s3://nixpkgs-tarballs/${s3_prefix}/${nixpkgs_revision} + $ aws s3 cp --recursive s3://nixpkgs-tarballs/${s3_prefix}/${nixpkgs_revision} ./ + $ sha256sum ${fnames[*]} + $ sha256sum ${outpath}/on-server/* +EOF + + cat "$target_file_commit_msg" + if [[ $commit == yes ]]; then + git commit "${target_file}" -F "$target_file_commit_msg" + else + info "DRY RUN: git commit ${target_file} -F $target_file_commit_msg" + fi + rm -- "$target_file_commit_msg" + + # delete temp files + rm -- "$latest_build" "$eval_meta" +done diff --git a/maintainers/scripts/check-by-name.sh b/maintainers/scripts/check-by-name.sh index 545dbedf0a317..d267ed9352a0c 120000 --- a/maintainers/scripts/check-by-name.sh +++ b/maintainers/scripts/check-by-name.sh @@ -1 +1 @@ -../../pkgs/test/nixpkgs-check-by-name/scripts/run-local.sh \ No newline at end of file +../../pkgs/test/check-by-name/run-local.sh \ No newline at end of file diff --git a/maintainers/scripts/check-cherry-picks.sh b/maintainers/scripts/check-cherry-picks.sh new file mode 100755 index 0000000000000..e7ffe2bf4c73d --- /dev/null +++ b/maintainers/scripts/check-cherry-picks.sh @@ -0,0 +1,97 @@ +#!/usr/bin/env bash +# Find alleged cherry-picks + +set -e + +if [ $# != "2" ] ; then + echo "usage: check-cherry-picks.sh base_rev head_rev" + exit 2 +fi + +PICKABLE_BRANCHES=${PICKABLE_BRANCHES:-master staging release-??.?? staging-??.??} +problem=0 + +while read new_commit_sha ; do + if [ -z "$new_commit_sha" ] ; then + continue # skip empty lines + fi + if [ "$GITHUB_ACTIONS" = 'true' ] ; then + echo "::group::Commit $new_commit_sha" + else + echo "=================================================" + fi + git rev-list --max-count=1 --format=medium "$new_commit_sha" + echo "-------------------------------------------------" + + original_commit_sha=$( + git rev-list --max-count=1 --format=format:%B "$new_commit_sha" \ + | grep -Ei -m1 "cherry.*[0-9a-f]{40}" \ + | grep -Eoi -m1 '[0-9a-f]{40}' + ) + if [ "$?" != "0" ] ; then + echo " ? Couldn't locate original commit hash in message" + [ "$GITHUB_ACTIONS" = 'true' ] && echo ::endgroup:: + continue + fi + + set -f # prevent pathname expansion of patterns + for branch_pattern in $PICKABLE_BRANCHES ; do + set +f # re-enable pathname expansion + + while read -r picked_branch ; do + if git merge-base --is-ancestor "$original_commit_sha" "$picked_branch" ; then + echo " ✔ $original_commit_sha present in branch $picked_branch" + + range_diff_common='git range-diff + --no-notes + --creation-factor=100 + '"$original_commit_sha~..$original_commit_sha"' + '"$new_commit_sha~..$new_commit_sha"' + ' + + if $range_diff_common --no-color | grep -E '^ {4}[+-]{2}' > /dev/null ; then + if [ "$GITHUB_ACTIONS" = 'true' ] ; then + echo ::endgroup:: + echo -n "::warning ::" + else + echo -n " ⚠ " + fi + echo "Difference between $new_commit_sha and original $original_commit_sha may warrant inspection:" + + $range_diff_common --color + + echo "Note this should not necessarily be treated as a hard fail, but a reviewer's attention should" \ + "be drawn to it and github actions have no way of doing that but to raise a 'failure'" + problem=1 + else + echo " ✔ $original_commit_sha highly similar to $new_commit_sha" + $range_diff_common --color + [ "$GITHUB_ACTIONS" = 'true' ] && echo ::endgroup:: + fi + + # move on to next commit + continue 3 + fi + done <<< "$( + git for-each-ref \ + --format="%(refname)" \ + "refs/remotes/origin/$branch_pattern" + )" + done + + if [ "$GITHUB_ACTIONS" = 'true' ] ; then + echo ::endgroup:: + echo -n "::error ::" + else + echo -n " ✘ " + fi + echo "$original_commit_sha not found in any pickable branch" + + problem=1 +done <<< "$( + git rev-list \ + -E -i --grep="cherry.*[0-9a-f]{40}" --reverse \ + "$1..$2" +)" + +exit $problem diff --git a/maintainers/scripts/eval-release.nix b/maintainers/scripts/eval-release.nix index 4f0ca24650251..fb830981683f3 100644 --- a/maintainers/scripts/eval-release.nix +++ b/maintainers/scripts/eval-release.nix @@ -1,12 +1,11 @@ -# Evaluate `release.nix' like Hydra would. Too bad nix-instantiate -# can't to do this. - -with import ../../lib; +# Evaluate `release.nix' like Hydra would. Too bad nix-instantiate can't to do this. let + inherit (import ../../lib) isDerivation mapAttrs; + trace = if builtins.getEnv "VERBOSE" == "1" then builtins.trace else (x: y: y); - rel = removeAttrs (import ../../pkgs/top-level/release.nix { }) [ "tarball" "unstable" "xbursttools" ]; + rel = removeAttrs (import ../../pkgs/top-level/release.nix { }) [ "tarball" "unstable" ]; # Add the ‘recurseForDerivations’ attribute to ensure that # nix-instantiate recurses into nested attribute sets. diff --git a/maintainers/scripts/find-tarballs.nix b/maintainers/scripts/find-tarballs.nix index c47b5168abd9a..cae4bec201ce0 100644 --- a/maintainers/scripts/find-tarballs.nix +++ b/maintainers/scripts/find-tarballs.nix @@ -1,11 +1,22 @@ # This expression returns a list of all fetchurl calls used by ‘expr’. -with import ../.. { }; -with lib; - -{ expr }: +{ expr, lib ? import ../../lib }: let + inherit (lib) + addErrorContext + attrNames + concatLists + const + filter + genericClosure + isAttrs + isDerivation + isList + mapAttrsToList + optional + optionals + ; root = expr; diff --git a/maintainers/scripts/haskell/dependencies.nix b/maintainers/scripts/haskell/dependencies.nix index fd8338c0029a9..5965b1ba18284 100644 --- a/maintainers/scripts/haskell/dependencies.nix +++ b/maintainers/scripts/haskell/dependencies.nix @@ -2,8 +2,10 @@ let pkgs = import ../../.. {}; inherit (pkgs) lib; - getDeps = _: pkg: { - deps = builtins.filter (x: x != null) (map (x: x.pname or null) (pkg.propagatedBuildInputs or [])); + getDeps = _: pkg: let + pname = pkg.pname or null; + in { + deps = builtins.filter (x: x != null && x != pname) (map (x: x.pname or null) (pkg.propagatedBuildInputs or [])); broken = (pkg.meta.hydraPlatforms or [null]) == []; }; in diff --git a/maintainers/scripts/haskell/hydra-report.hs b/maintainers/scripts/haskell/hydra-report.hs index 8b4f798cc5434..debf684abf509 100755 --- a/maintainers/scripts/haskell/hydra-report.hs +++ b/maintainers/scripts/haskell/hydra-report.hs @@ -78,12 +78,13 @@ import Network.HTTP.Req ( ) import System.Directory (XdgDirectory (XdgCache), getXdgDirectory) import System.Environment (getArgs) +import System.Exit (die) import System.Process (readProcess) import Prelude hiding (id) import Data.List (sortOn) import Control.Concurrent.Async (concurrently) import Control.Exception (evaluate) -import qualified Data.IntMap.Strict as IntMap +import qualified Data.IntMap.Lazy as IntMap import qualified Data.IntSet as IntSet import Data.Bifunctor (second) import Data.Data (Proxy) @@ -155,17 +156,20 @@ data Build = Build data HydraSlownessWorkaroundFlag = HydraSlownessWorkaround | NoHydraSlownessWorkaround data RequestLogsFlag = RequestLogs | NoRequestLogs +usage :: IO a +usage = die "Usage: get-report [--slow] [EVAL-ID] | ping-maintainers | mark-broken-list [--no-request-logs] | eval-info" + main :: IO () main = do args <- getArgs case args of - ["get-report", "--slow"] -> getBuildReports HydraSlownessWorkaround - ["get-report"] -> getBuildReports NoHydraSlownessWorkaround + "get-report":"--slow":id -> getBuildReports HydraSlownessWorkaround id + "get-report":id -> getBuildReports NoHydraSlownessWorkaround id ["ping-maintainers"] -> printMaintainerPing ["mark-broken-list", "--no-request-logs"] -> printMarkBrokenList NoRequestLogs ["mark-broken-list"] -> printMarkBrokenList RequestLogs ["eval-info"] -> printEvalInfo - _ -> putStrLn "Usage: get-report [--slow] | ping-maintainers | mark-broken-list [--no-request-logs] | eval-info" + _ -> usage reportFileName :: IO FilePath reportFileName = getXdgDirectory XdgCache "haskell-updates-build-report.json" @@ -173,23 +177,26 @@ reportFileName = getXdgDirectory XdgCache "haskell-updates-build-report.json" showT :: Show a => a -> Text showT = Text.pack . show -getBuildReports :: HydraSlownessWorkaroundFlag -> IO () -getBuildReports opt = runReq defaultHttpConfig do - evalMay <- Seq.lookup 0 . evals <$> hydraJSONQuery mempty ["jobset", "nixpkgs", "haskell-updates", "evals"] - eval@Eval{id} <- maybe (liftIO $ fail "No Evaluation found") pure evalMay +getBuildReports :: HydraSlownessWorkaroundFlag -> [String] -> IO () +getBuildReports opt args = runReq defaultHttpConfig do + eval@Eval{id} <- case args of + [id] -> hydraJSONQuery mempty ["eval", Text.pack id] + [] -> do + evalMay <- Seq.lookup 0 . evals <$> hydraJSONQuery mempty ["jobset", "nixpkgs", "haskell-updates", "evals"] + maybe (liftIO $ fail "No Evaluation found") pure evalMay + _ -> liftIO usage liftIO . putStrLn $ "Fetching evaluation " <> show id <> " from Hydra. This might take a few minutes..." - buildReports <- getEvalBuilds opt id + buildReports <- getEvalBuilds opt eval liftIO do fileName <- reportFileName putStrLn $ "Finished fetching all builds from Hydra, saving report as " <> fileName now <- getCurrentTime encodeFile fileName (eval, now, buildReports) -getEvalBuilds :: HydraSlownessWorkaroundFlag -> Int -> Req (Seq Build) -getEvalBuilds NoHydraSlownessWorkaround id = +getEvalBuilds :: HydraSlownessWorkaroundFlag -> Eval -> Req (Seq Build) +getEvalBuilds NoHydraSlownessWorkaround Eval{id} = hydraJSONQuery mempty ["eval", showT id, "builds"] -getEvalBuilds HydraSlownessWorkaround id = do - Eval{builds} <- hydraJSONQuery mempty [ "eval", showT id ] +getEvalBuilds HydraSlownessWorkaround Eval{builds} = do forM builds $ \buildId -> do liftIO $ putStrLn $ "Querying build " <> show buildId hydraJSONQuery mempty [ "build", showT buildId ] @@ -299,7 +306,7 @@ calculateReverseDependencies depMap = Map.fromDistinctAscList $ zip keys (zip (rdepMap False) (rdepMap True)) where -- This code tries to efficiently invert the dependency map and calculate - -- it’s transitive closure by internally identifying every pkg with it’s index + -- its transitive closure by internally identifying every pkg with its index -- in the package list and then using memoization. keys :: [PkgName] keys = Map.keys depMap @@ -317,11 +324,11 @@ calculateReverseDependencies depMap = intDeps :: [(Int, (Bool, [Int]))] intDeps = zip [0..] (fmap depInfoToIdx depInfos) - rdepMap onlyUnbroken = IntSet.size <$> resultList + rdepMap onlyUnbroken = IntSet.size <$> IntMap.elems resultList where - resultList = go <$> [0..] + resultList = IntMap.fromDistinctAscList [(i, go i) | i <- [0..length keys - 1]] oneStepMap = IntMap.fromListWith IntSet.union $ (\(key,(_,deps)) -> (,IntSet.singleton key) <$> deps) <=< filter (\(_, (broken,_)) -> not (broken && onlyUnbroken)) $ intDeps - go pkg = IntSet.unions (oneStep:((resultList !!) <$> IntSet.toList oneStep)) + go pkg = IntSet.unions (oneStep:((resultList IntMap.!) <$> IntSet.toList oneStep)) where oneStep = IntMap.findWithDefault mempty pkg oneStepMap -- | Generate a mapping of Hydra job names to maintainer GitHub handles. Calls diff --git a/maintainers/scripts/haskell/merge-and-open-pr.sh b/maintainers/scripts/haskell/merge-and-open-pr.sh index cdba24f0c2077..62565d24d6231 100755 --- a/maintainers/scripts/haskell/merge-and-open-pr.sh +++ b/maintainers/scripts/haskell/merge-and-open-pr.sh @@ -54,8 +54,8 @@ if ! gh auth status 2>/dev/null ; then fi # Make sure this is configured before we start doing anything -push_remote="$(git config branch.haskell-updates.pushRemote \ - || die 'Can'\''t determine pushRemote for haskell-updates. Please set using `git config branch.haskell-updates.pushremote <remote name>`.')" +push_remote="$(git config branch.haskell-updates.pushRemote)" \ + || die 'Can'\''t determine pushRemote for haskell-updates. Please set using `git config branch.haskell-updates.pushremote <remote name>`.' # Fetch nixpkgs to get an up-to-date origin/haskell-updates branch. echo "Fetching origin..." diff --git a/maintainers/scripts/haskell/regenerate-hackage-packages.sh b/maintainers/scripts/haskell/regenerate-hackage-packages.sh index 96a18aa8ed87f..8f629c53102fb 100755 --- a/maintainers/scripts/haskell/regenerate-hackage-packages.sh +++ b/maintainers/scripts/haskell/regenerate-hackage-packages.sh @@ -66,10 +66,6 @@ done HACKAGE2NIX="${HACKAGE2NIX:-hackage2nix}" -# To prevent hackage2nix fails because of encoding. -# See: https://github.com/NixOS/nixpkgs/pull/122023 -export LC_ALL=C.UTF-8 - config_dir=pkgs/development/haskell-modules/configuration-hackage2nix run_hackage2nix() { diff --git a/maintainers/scripts/haskell/update-stackage.sh b/maintainers/scripts/haskell/update-stackage.sh index 881cf5fd48376..fdb1cd184f69b 100755 --- a/maintainers/scripts/haskell/update-stackage.sh +++ b/maintainers/scripts/haskell/update-stackage.sh @@ -7,8 +7,11 @@ set -eu -o pipefail # Stackage solver to use, LTS or Nightly # (should be capitalized like the display name) SOLVER=LTS +# Stackage solver verson, if any. Use latest if empty +VERSION= TMP_TEMPLATE=update-stackage.XXXXXXX readonly SOLVER +readonly VERSION readonly TMP_TEMPLATE toLower() { @@ -23,7 +26,7 @@ stackage_config="pkgs/development/haskell-modules/configuration-hackage2nix/stac trap 'rm "${tmpfile}" "${tmpfile_new}"' 0 touch "$tmpfile" "$tmpfile_new" # Creating files here so that trap creates no errors. -curl -L -s "https://stackage.org/$(toLower "$SOLVER")/cabal.config" >"$tmpfile" +curl -L -s "https://stackage.org/$(toLower "$SOLVER")${VERSION:+-$VERSION}/cabal.config" >"$tmpfile" old_version=$(grep '^# Stackage' $stackage_config | sed -e 's/.\+ \([A-Za-z]\+ [0-9.-]\+\)$/\1/g') version="$SOLVER $(sed -rn "s/^--.*http:..(www.)?stackage.org.snapshot.$(toLower "$SOLVER")-//p" "$tmpfile")" diff --git a/maintainers/scripts/kde/collect-licenses.sh b/maintainers/scripts/kde/collect-licenses.sh new file mode 100755 index 0000000000000..87da901c255cc --- /dev/null +++ b/maintainers/scripts/kde/collect-licenses.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p gnutar jq reuse +set -eu +cd "$(dirname "$(readlink -f "$0")")"/../../.. + +TMPDIR=$(mktemp -d) +trap 'rm -rf $TMPDIR' EXIT + +echo "# Prebuilding sources..." +nix-build -A kdePackages.sources --no-link || true + +echo "# Evaluating sources..." +declare -A sources +eval "$(nix-instantiate --eval -A kdePackages.sources --json --strict | jq 'to_entries[] | "sources[" + .key + "]=" + .value' -r)" + +echo "# Collecting licenses..." +for k in "${!sources[@]}"; do + echo "- Processing $k..." + + if [ ! -f "${sources[$k]}" ]; then + echo "Not found!" + continue + fi + + mkdir "$TMPDIR/$k" + tar -C "$TMPDIR/$k" -xf "${sources[$k]}" + + (cd "$TMPDIR/$k"; reuse lint --json) | jq --arg name "$k" '{$name: .summary.used_licenses | sort}' -c > "$TMPDIR/$k.json" +done + +jq -s 'add' -S "$TMPDIR"/*.json > pkgs/kde/generated/licenses.json diff --git a/maintainers/scripts/kde/collect-logs.nu b/maintainers/scripts/kde/collect-logs.nu new file mode 100755 index 0000000000000..1d07fa9d2caf7 --- /dev/null +++ b/maintainers/scripts/kde/collect-logs.nu @@ -0,0 +1,11 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i nu -p nushell +cd $"($env.FILE_PWD)/../../.." + +mkdir logs +nix-env -qaP -f . -A kdePackages --json --out-path | from json | values | par-each { |it| + echo $"Processing ($it.pname)..." + if "outputs" in $it { + nix-store --read-log $it.outputs.out | save -f $"logs/($it.pname).log" + } +} diff --git a/maintainers/scripts/kde/collect-metadata.py b/maintainers/scripts/kde/collect-metadata.py new file mode 100755 index 0000000000000..eaa6196471365 --- /dev/null +++ b/maintainers/scripts/kde/collect-metadata.py @@ -0,0 +1,36 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i python3 -p "python3.withPackages(ps: [ ps.click ps.pyyaml ])" +import pathlib + +import click + +import utils + +@click.command +@click.argument( + "repo-metadata", + type=click.Path( + exists=True, + file_okay=False, + resolve_path=True, + path_type=pathlib.Path, + ), +) +@click.option( + "--nixpkgs", + type=click.Path( + exists=True, + file_okay=False, + resolve_path=True, + writable=True, + path_type=pathlib.Path, + ), + default=pathlib.Path(__file__).parent.parent.parent.parent +) +def main(repo_metadata: pathlib.Path, nixpkgs: pathlib.Path): + metadata = utils.KDERepoMetadata.from_repo_metadata_checkout(repo_metadata) + out_dir = nixpkgs / "pkgs/kde/generated" + metadata.write_json(out_dir) + +if __name__ == "__main__": + main() # type: ignore diff --git a/maintainers/scripts/kde/collect-missing-deps.py b/maintainers/scripts/kde/collect-missing-deps.py new file mode 100755 index 0000000000000..f3943338b57fb --- /dev/null +++ b/maintainers/scripts/kde/collect-missing-deps.py @@ -0,0 +1,127 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i python3 -p python3 +import pathlib + +OK_MISSING = { + # we don't use precompiled QML + 'Qt6QuickCompiler', + 'Qt6QmlCompilerPlusPrivate', + # usually used for version numbers + 'Git', + # useless by itself, will warn if something else is not found + 'PkgConfig', + # license verification + 'ReuseTool', + # dev only + 'ClangFormat', + # doesn't exist + 'Qt6X11Extras', +} + +OK_MISSING_BY_PACKAGE = { + "angelfish": { + "Qt6Feedback", # we don't have it + }, + "attica": { + "Python3", # only used for license checks + }, + "discover": { + "rpm-ostree-1", # we don't have rpm-ostree (duh) + "Snapd", # we don't have snaps and probably never will + }, + "elisa": { + "UPNPQT", # upstream says it's broken + }, + "extra-cmake-modules": { + "Sphinx", # only used for docs, bloats closure size + "QCollectionGenerator" + }, + "kio-extras-kf5": { + "KDSoapWSDiscoveryClient", # actually vendored on KF5 version + }, + "kitinerary": { + "OsmTools", # used for map data updates, we use prebuilt + }, + "kosmindoormap": { + "OsmTools", # same + "Protobuf", + }, + "kpty": { + "UTEMPTER", # we don't have it and it probably wouldn't work anyway + }, + "kpublictransport": { + "OsmTools", # same + "PolyClipping", + "Protobuf", + }, + "krfb": { + "Qt6XkbCommonSupport", # not real + }, + "kuserfeedback": { + "Qt6Svg", # all used for backend console stuff we don't ship + "QmlLint", + "Qt6Charts", + "FLEX", + "BISON", + "Php", + "PhpUnit", + }, + "kwin": { + "display-info", # newer versions identify as libdisplay-info + }, + "mlt": { + "Qt5", # intentionally disabled + "SWIG", + }, + "plasma-desktop": { + "scim", # upstream is dead, not packaged in Nixpkgs + }, + "powerdevil": { + "DDCUtil", # cursed, intentionally disabled + }, + "pulseaudio-qt": { + "Qt6Qml", # tests only + "Qt6Quick", + }, + "syntax-highlighting": { + "XercesC", # only used for extra validation at build time + } +} + +def main(): + here = pathlib.Path(__file__).parent.parent.parent.parent + logs = (here / "logs").glob("*.log") + + for log in sorted(logs): + pname = log.stem + + missing = [] + is_in_block = False + with log.open(errors="replace") as fd: + for line in fd: + line = line.strip() + if line.startswith("-- No package '"): + package = line.removeprefix("-- No package '").removesuffix("' found") + missing.append(package) + if line == "-- The following OPTIONAL packages have not been found:" or line == "-- The following RECOMMENDED packages have not been found:": + is_in_block = True + elif line.startswith("--") and is_in_block: + is_in_block = False + elif line.startswith("*") and is_in_block: + package = line.removeprefix("* ") + missing.append(package) + + missing = { + package + for package in missing + if not any(package.startswith(i) for i in OK_MISSING | OK_MISSING_BY_PACKAGE.get(pname, set())) + } + + if missing: + print(pname + ":") + for line in missing: + print(" -", line) + print() + +if __name__ == '__main__': + main() diff --git a/maintainers/scripts/kde/generate-sources.py b/maintainers/scripts/kde/generate-sources.py new file mode 100755 index 0000000000000..4f43710997f44 --- /dev/null +++ b/maintainers/scripts/kde/generate-sources.py @@ -0,0 +1,121 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i python3 -p "python3.withPackages(ps: [ ps.beautifulsoup4 ps.click ps.httpx ps.jinja2 ps.pyyaml ])" +import base64 +import binascii +import json +import pathlib +from typing import Optional +from urllib.parse import urlparse + +import bs4 +import click +import httpx +import jinja2 + +import utils + + +LEAF_TEMPLATE = jinja2.Template(''' +{mkKdeDerivation}: +mkKdeDerivation { + pname = "{{ pname }}"; +} +'''.strip()) + +ROOT_TEMPLATE = jinja2.Template(''' +{callPackage}: { + {%- for p in packages %} + {{ p }} = callPackage ./{{ p }} {}; + {%- endfor %} +} +'''.strip()); + +def to_sri(hash): + raw = binascii.unhexlify(hash) + b64 = base64.b64encode(raw).decode() + return f"sha256-{b64}" + + +@click.command +@click.argument( + "set", + type=click.Choice(["frameworks", "gear", "plasma"]), + required=True +) +@click.argument( + "version", + type=str, + required=True +) +@click.option( + "--nixpkgs", + type=click.Path( + exists=True, + file_okay=False, + resolve_path=True, + writable=True, + path_type=pathlib.Path, + ), + default=pathlib.Path(__file__).parent.parent.parent.parent +) +@click.option( + "--sources-url", + type=str, + default=None, +) +def main(set: str, version: str, nixpkgs: pathlib.Path, sources_url: Optional[str]): + root_dir = nixpkgs / "pkgs/kde" + set_dir = root_dir / set + generated_dir = root_dir / "generated" + metadata = utils.KDERepoMetadata.from_json(generated_dir) + + if sources_url is None: + set_url = { + "frameworks": "kf", + "gear": "releases", + "plasma": "plasma", + }[set] + sources_url = f"https://kde.org/info/sources/source-{set_url}-{version}.html" + + sources = httpx.get(sources_url) + sources.raise_for_status() + bs = bs4.BeautifulSoup(sources.text, features="html.parser") + + results = {} + for item in bs.select("tr")[1:]: + link = item.select_one("td:nth-child(1) a") + assert link + + hash = item.select_one("td:nth-child(3) tt") + assert hash + + project_name, version = link.text.rsplit("-", maxsplit=1) + if project_name not in metadata.projects_by_name: + print(f"Warning: unknown tarball: {project_name}") + + results[project_name] = { + "version": version, + "url": "mirror://kde" + urlparse(link.attrs["href"]).path, + "hash": to_sri(hash.text) + } + + pkg_dir = set_dir / project_name + pkg_file = pkg_dir / "default.nix" + if not pkg_file.exists(): + print(f"Generated new package: {set}/{project_name}") + pkg_dir.mkdir(parents=True, exist_ok=True) + with pkg_file.open("w") as fd: + fd.write(LEAF_TEMPLATE.render(pname=project_name) + "\n") + + set_dir.mkdir(parents=True, exist_ok=True) + with (set_dir / "default.nix").open("w") as fd: + fd.write(ROOT_TEMPLATE.render(packages=sorted(results.keys())) + "\n") + + sources_dir = generated_dir / "sources" + sources_dir.mkdir(parents=True, exist_ok=True) + with (sources_dir / f"{set}.json").open("w") as fd: + json.dump(results, fd, indent=2) + + +if __name__ == "__main__": + main() # type: ignore diff --git a/maintainers/scripts/kde/utils.py b/maintainers/scripts/kde/utils.py new file mode 100644 index 0000000000000..b3a00093d7038 --- /dev/null +++ b/maintainers/scripts/kde/utils.py @@ -0,0 +1,182 @@ +import collections +import dataclasses +import functools +import json +import pathlib +import subprocess + +import yaml + +class DataclassEncoder(json.JSONEncoder): + def default(self, it): + if dataclasses.is_dataclass(it): + return dataclasses.asdict(it) + return super().default(it) + + +@dataclasses.dataclass +class Project: + name: str + description: str | None + project_path: str + repo_path: str | None + + def __hash__(self) -> int: + return hash(self.name) + + @classmethod + def from_yaml(cls, path: pathlib.Path): + data = yaml.safe_load(path.open()) + return cls( + name=data["identifier"], + description=data["description"], + project_path=data["projectpath"], + repo_path=data["repopath"] + ) + + +def get_git_commit(path: pathlib.Path): + return subprocess.check_output(["git", "-C", path, "rev-parse", "--short", "HEAD"]).decode().strip() + + +def validate_unique(projects: list[Project], attr: str): + seen = set() + for item in projects: + attr_value = getattr(item, attr) + if attr_value in seen: + raise Exception(f"Duplicate {attr}: {attr_value}") + seen.add(attr_value) + + +THIRD_PARTY = { + "third-party/appstream": "appstream-qt", + "third-party/cmark": "cmark", + "third-party/gpgme": "gpgme", + "third-party/kdsoap": "kdsoap", + "third-party/libaccounts-qt": "accounts-qt", + "third-party/libgpg-error": "libgpg-error", + "third-party/libquotient": "libquotient", + "third-party/packagekit-qt": "packagekit-qt", + "third-party/poppler": "poppler", + "third-party/qcoro": "qcoro", + "third-party/qmltermwidget": "qmltermwidget", + "third-party/qtkeychain": "qtkeychain", + "third-party/signond": "signond", + "third-party/taglib": "taglib", + "third-party/wayland-protocols": "wayland-protocols", + "third-party/wayland": "wayland", + "third-party/zxing-cpp": "zxing-cpp", +} + +IGNORE = { + "kdesupport/phonon-directshow", + "kdesupport/phonon-mmf", + "kdesupport/phonon-mplayer", + "kdesupport/phonon-quicktime", + "kdesupport/phonon-waveout", + "kdesupport/phonon-xine" +} + +WARNED = set() + + +@dataclasses.dataclass +class KDERepoMetadata: + version: str + projects: list[Project] + dep_graph: dict[Project, set[Project]] + + @functools.cached_property + def projects_by_name(self): + return {p.name: p for p in self.projects} + + @functools.cached_property + def projects_by_path(self): + return {p.project_path: p for p in self.projects} + + def try_lookup_package(self, path): + if path in IGNORE: + return None + project = self.projects_by_path.get(path) + if project is None and path not in WARNED: + WARNED.add(path) + print(f"Warning: unknown project {path}") + return project + + @classmethod + def from_repo_metadata_checkout(cls, repo_metadata: pathlib.Path): + projects = [ + Project.from_yaml(metadata_file) + for metadata_file in repo_metadata.glob("projects-invent/**/metadata.yaml") + ] + [ + Project(id, None, project_path, None) + for project_path, id in THIRD_PARTY.items() + ] + + validate_unique(projects, "name") + validate_unique(projects, "project_path") + + self = cls( + version=get_git_commit(repo_metadata), + projects=projects, + dep_graph={}, + ) + + dep_specs = ["dependency-data-stable-kf6-qt6"] + dep_graph = collections.defaultdict(set) + + for spec in dep_specs: + spec_path = repo_metadata / "dependencies" / spec + for line in spec_path.open(): + line = line.strip() + if line.startswith("#"): + continue + if not line: + continue + + dependent, dependency = line.split(": ") + + dependent = self.try_lookup_package(dependent) + if dependent is None: + continue + + dependency = self.try_lookup_package(dependency) + if dependency is None: + continue + + dep_graph[dependent].add(dependency) + + self.dep_graph = dep_graph + + return self + + def write_json(self, root: pathlib.Path): + root.mkdir(parents=True, exist_ok=True) + + with (root / "projects.json").open("w") as fd: + json.dump(self.projects_by_name, fd, cls=DataclassEncoder, sort_keys=True, indent=2) + + with (root / "dependencies.json").open("w") as fd: + deps = {k.name: sorted(dep.name for dep in v) for k, v in self.dep_graph.items()} + json.dump({"version": self.version, "dependencies": deps}, fd, cls=DataclassEncoder, sort_keys=True, indent=2) + + @classmethod + def from_json(cls, root: pathlib.Path): + projects = [ + Project(**v) for v in json.load((root / "projects.json").open()).values() + ] + + deps = json.load((root / "dependencies.json").open()) + self = cls( + version=deps["version"], + projects=projects, + dep_graph={}, + ) + + dep_graph = collections.defaultdict(set) + for dependent, dependencies in deps["dependencies"].items(): + for dependency in dependencies: + dep_graph[self.projects_by_name[dependent]].add(self.projects_by_name[dependency]) + + self.dep_graph = dep_graph + return self diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv index 6a70792bf02c9..4b41b78875124 100644 --- a/maintainers/scripts/luarocks-packages.csv +++ b/maintainers/scripts/luarocks-packages.csv @@ -5,18 +5,22 @@ argparse,,,,,, basexx,,,,,, binaryheap,,,,,,vcunat busted,,,,,, -cassowary,,,,,,marsam alerque +cassowary,,,,,,alerque cldr,,,,,,alerque -compat53,,,,0.7-1,,vcunat -cosmo,,,,,,marsam +compat53,,,,,,vcunat +commons.nvim,,,,,,mrcjkb +cosmo,,,,,, coxpcall,,,,1.17.0-1,, cqueues,,,,,,vcunat cyan,,,,,, digestif,https://github.com/astoff/digestif.git,,,,5.3, dkjson,,,,,, fennel,,,,,,misterio77 +fidget.nvim,,,,,,mrcjkb fifo,,,,,, fluent,,,,,,alerque +funnyfiles.nvim,,,,,,mrcjkb +fzf-lua,,,,,,mrcjkb fzy,,,,,,mrcjkb gitsigns.nvim,https://github.com/lewis6991/gitsigns.nvim.git,,,,5.1, haskell-tools.nvim,,,,,, @@ -55,7 +59,7 @@ lua-subprocess,https://github.com/0x0ade/lua-subprocess,,,,5.1,scoder12 lua-term,,,,,, lua-toml,,,,,, lua-zlib,,,,,,koral -lua_cliargs,https://github.com/amireh/lua_cliargs.git,,,,, +lua_cliargs,,,,,, luabitop,https://github.com/teto/luabitop.git,,,,, luacheck,,,,,, luacov,,,,,, @@ -84,9 +88,10 @@ luaunbound,,,,,, luaunit,,,,,,lockejan luautf8,,,,,,pstn luazip,,,,,, +lua-utils.nvim,,,,,,mrcjkb lua-yajl,,,,,,pstn lua-iconv,,,,7.0.0,, -luuid,,,,,, +luuid,,,,20120509-2,, luv,,,,1.44.2-1,, lush.nvim,https://github.com/rktjmp/lush.nvim,,,,,teto lyaml,,,,,,lblasc @@ -94,15 +99,24 @@ magick,,,,,5.1,donovanglover markdown,,,,,, mediator_lua,,,,,, middleclass,,,,,, +mimetypes,,,,,, mpack,,,,,, moonscript,https://github.com/leafo/moonscript.git,dev-1,,,,arobyn +neotest,,,,,,mrcjkb nlua,,,,,,teto nui.nvim,,,,,,mrcjkb nvim-cmp,https://github.com/hrsh7th/nvim-cmp,,,,, +nvim-nio,,,,,,mrcjkb +pathlib.nvim,,,,,, penlight,https://github.com/lunarmodules/Penlight.git,,,,,alerque plenary.nvim,https://github.com/nvim-lua/plenary.nvim.git,,,,5.1, rapidjson,https://github.com/xpol/lua-rapidjson.git,,,,, +rocks.nvim,,,,,5.1,teto mrcjkb rest.nvim,,,,,5.1,teto +rocks.nvim,,,,,,mrcjkb +rocks-git.nvim,,,,,,mrcjkb +rocks-config.nvim,,,,,,mrcjkb +rocks-dev.nvim,,,,,,mrcjkb rustaceanvim,,,,,,mrcjkb say,https://github.com/Olivine-Labs/say.git,,,,, serpent,,,,,,lockejan @@ -113,8 +127,10 @@ stdlib,,,,41.2.2,,vyp teal-language-server,,,http://luarocks.org/dev,,, telescope.nvim,,,,,5.1, telescope-manix,,,,,, +tiktoken_core,,,,,,natsukium tl,,,,,,mephistophiles toml,,,,,,mrcjkb toml-edit,,,,,5.1,mrcjkb vstruct,https://github.com/ToxicFrog/vstruct.git,,,,, vusted,,,,,,figsoda +xml2lua,,,,,,teto diff --git a/maintainers/scripts/mdize-module.sh b/maintainers/scripts/mdize-module.sh deleted file mode 100755 index e2d2e5467aa98..0000000000000 --- a/maintainers/scripts/mdize-module.sh +++ /dev/null @@ -1,83 +0,0 @@ -#! /usr/bin/env nix-shell -#! nix-shell -I nixpkgs=. -i bash -p delta jq perl - -set -euo pipefail -shopt -s inherit_errexit - -cat <<'EOF' -This script attempts to automatically convert option descriptions from -DocBook syntax to markdown. Naturally this process is incomplete and -imperfect, so any changes generated by this script MUST be reviewed. - -Possible problems include: incorrectly replaced tags, badly formatted -markdown, DocBook tags this script doesn't recognize remaining in the -output and crashing the docs build, incorrect escaping of markdown -metacharacters, incorrect unescaping of XML entities—and the list goes on. - -Always review the generated changes! - -Some known limitations: - - Does not transform literalDocBook items - - Replacements can occur in non-option code, such as string literals - - -EOF - - - -build-options-json() { - nix-build --no-out-link --expr ' - let - sys = import ./nixos/default.nix { - configuration = {}; - }; - in - [ - sys.config.system.build.manual.optionsJSON - ] - ' -} - - - -git diff --quiet || { - echo "Worktree is dirty. Please stash or commit first." - exit 1 -} - -echo "Building options.json ..." -old_options=$(build-options-json) - -echo "Applying replacements ..." -perl -pi -e ' - BEGIN { - undef $/; - } - - s,<literal>([^`]*?)</literal>,`$1`,smg; - s,<replaceable>([^»]*?)</replaceable>,«$1»,smg; - s,<filename>([^`]*?)</filename>,{file}`$1`,smg; - s,<option>([^`]*?)</option>,{option}`$1`,smg; - s,<code>([^`]*?)</code>,`$1`,smg; - s,<command>([^`]*?)</command>,{command}`$1`,smg; - s,<link xlink:href="(.+?)" ?/>,<$1>,smg; - s,<link xlink:href="(.+?)">(.*?)</link>,[$2]($1),smg; - s,<package>([^`]*?)</package>,`$1`,smg; - s,<emphasis>([^*]*?)</emphasis>,*$1*,smg; - s,<citerefentry>\s* - <refentrytitle>\s*(.*?)\s*</refentrytitle>\s* - <manvolnum>\s*(.*?)\s*</manvolnum>\s* - </citerefentry>,{manpage}`$1($2)`,smgx; - s,^( +description =),\1 lib.mdDoc,smg; -' "$@" - -echo "Building options.json again ..." -new_options=$(build-options-json) - - -! cmp -s {$old_options,$new_options}/share/doc/nixos/options.json && { - diff -U10 \ - <(jq . <$old_options/share/doc/nixos/options.json) \ - <(jq . <$new_options/share/doc/nixos/options.json) \ - | delta -} diff --git a/maintainers/scripts/nix-generate-from-cpan.nix b/maintainers/scripts/nix-generate-from-cpan.nix index bf48a53186119..a8135f4b304a8 100644 --- a/maintainers/scripts/nix-generate-from-cpan.nix +++ b/maintainers/scripts/nix-generate-from-cpan.nix @@ -21,6 +21,7 @@ stdenv.mkDerivation { meta = { maintainers = with lib.maintainers; [ eelco ]; description = "Utility to generate a Nix expression for a Perl package from CPAN"; + mainProgram = "nix-generate-from-cpan"; platforms = lib.platforms.unix; }; } diff --git a/maintainers/scripts/nixpkgs-lint.nix b/maintainers/scripts/nixpkgs-lint.nix index 873905373af0f..b400ce034b3e0 100644 --- a/maintainers/scripts/nixpkgs-lint.nix +++ b/maintainers/scripts/nixpkgs-lint.nix @@ -19,6 +19,7 @@ stdenv.mkDerivation { meta = with lib; { maintainers = [ maintainers.eelco ]; description = "A utility for Nixpkgs contributors to check Nixpkgs for common errors"; + mainProgram = "nixpkgs-lint"; platforms = platforms.unix; }; } diff --git a/maintainers/scripts/pluginupdate.py b/maintainers/scripts/pluginupdate.py index cc0f4ef742d11..239f529f9eaa3 100644 --- a/maintainers/scripts/pluginupdate.py +++ b/maintainers/scripts/pluginupdate.py @@ -1,7 +1,7 @@ # python library used to update plugins: # - pkgs/applications/editors/vim/plugins/update.py # - pkgs/applications/editors/kakoune/plugins/update.py -# - maintainers/scripts/update-luarocks-packages +# - pkgs/development/lua-modules/updater/updater.py # format: # $ nix run nixpkgs#black maintainers/scripts/pluginupdate.py @@ -17,6 +17,7 @@ import http import json import logging import os +import re import subprocess import sys import time @@ -192,6 +193,11 @@ class RepoGitHub(Repo): with urllib.request.urlopen(commit_req, timeout=10) as req: self._check_for_redirect(commit_url, req) xml = req.read() + + # Filter out illegal XML characters + illegal_xml_regex = re.compile(b"[\x00-\x08\x0B-\x0C\x0E-\x1F\x7F]") + xml = illegal_xml_regex.sub(b"", xml) + root = ET.fromstring(xml) latest_entry = root.find(ATOM_ENTRY) assert latest_entry is not None, f"No commits found in repository {self}" diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index 6bf83c6907d04..35e45ad194505 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -46,7 +46,6 @@ with lib.maintainers; { bazel = { members = [ mboes - marsam uri-canva cbley olebedev @@ -96,6 +95,24 @@ with lib.maintainers; { shortName = "Blockchains"; }; + budgie = { + members = [ + bobby285271 + ]; + scope = "Maintain Budgie desktop environment"; + shortName = "Budgie"; + }; + + buildbot = { + members = [ + lopsided98 + mic92 + zowoq + ]; + scope = "Maintain Buildbot CI framework"; + shortName = "Buildbot"; + }; + c = { members = [ matthewbauer @@ -127,6 +144,15 @@ with lib.maintainers; { enableFeatureFreezePing = true; }; + cloudposse = { + members = [ + dudymas + ]; + scope = "Maintain atmos and applications made by the Cloud Posse team."; + shortName = "CloudPosse"; + enableFeatureFreezePing = true; + }; + coq = { members = [ cohencyril @@ -166,7 +192,7 @@ with lib.maintainers; { cosmopolitan = { members = [ - lourkeur + bbjubjub tomberek ]; scope = "Maintain the Cosmopolitan LibC and related programs."; @@ -178,6 +204,7 @@ with lib.maintainers; { ivar mdarocha corngood + ggg raphaelr jamiemagee anpin @@ -236,10 +263,7 @@ with lib.maintainers; { }; docs = { - members = [ - asymmetric - ryantm - ]; + members = [ ]; scope = "Maintain nixpkgs/NixOS documentation and tools for building it."; shortName = "Docs"; enableFeatureFreezePing = true; @@ -292,11 +316,27 @@ with lib.maintainers; { dpausp frlan leona + osnyx + ma27 ]; scope = "Team for Flying Circus employees who collectively maintain packages."; shortName = "Flying Circus employees"; }; + formatter = { + members = [ + piegames + infinisil + das_j + tomberek + _0x4A6F + # Not in the maintainer list + # Sereja313 + ]; + scope = "Tentative Nix formatter team to be established in https://github.com/NixOS/rfcs/pull/166"; + shortName = "Nix formatter team"; + }; + freedesktop = { members = [ jtojnar ]; scope = "Maintain Freedesktop.org packages for graphical desktop."; @@ -315,11 +355,10 @@ with lib.maintainers; { geospatial = { members = [ - das-g imincik + l0b0 nh2 nialov - r-burns sikmir willcohen ]; @@ -407,8 +446,8 @@ with lib.maintainers; { helsinki-systems = { # Verify additions to this team with at least one already existing member of the team. members = [ - ajs124 das_j + conni2461 ]; scope = "Group registration for packages maintained by Helsinki Systems"; shortName = "Helsinki Systems employees"; @@ -442,6 +481,7 @@ with lib.maintainers; { ryantm lassulus yayayayaka + asymmetric ]; scope = "Maintain Jitsi."; shortName = "Jitsi"; @@ -472,7 +512,9 @@ with lib.maintainers; { members = [ aanderse cpages + dschrempf edwtjo + kazenyuk minijackson peterhoeg sephalon @@ -524,12 +566,14 @@ with lib.maintainers; { dtzWill ericson2314 lovek323 - primeos qyliss - raitobezarius + RossComputerGuy rrbutani sternenseemann ]; + githubTeams = [ + "llvm" + ]; scope = "Maintain LLVM package sets and related packages"; shortName = "LLVM"; enableFeatureFreezePing = true; @@ -688,7 +732,6 @@ with lib.maintainers; { node = { members = [ lilyinstarlight - marsam winter ]; scope = "Maintain Node.js runtimes and build tooling."; @@ -753,7 +796,6 @@ with lib.maintainers; { members = [ aanderse drupol - etu ma27 talyz ]; @@ -799,12 +841,18 @@ with lib.maintainers; { qt-kde = { members = [ + ilya-fedin + k900 + LunNova + mjm + nickcao + SuperSandro2000 ttuegel ]; githubTeams = [ "qt-kde" ]; - scope = "Maintain the KDE desktop environment and Qt."; + scope = "Maintain the Qt framework, KDE application suite, Plasma desktop environment and related projects."; shortName = "Qt / KDE"; enableFeatureFreezePing = true; }; @@ -842,6 +890,7 @@ with lib.maintainers; { members = [ Madouura Flakebi + mschwaig ]; githubTeams = [ "rocm-maintainers" @@ -852,7 +901,6 @@ with lib.maintainers; { ruby = { members = [ - marsam ]; scope = "Maintain the Ruby interpreter and related packages."; shortName = "Ruby"; @@ -901,6 +949,18 @@ with lib.maintainers; { shortName = "Serokell employees"; }; + steam = { + members = [ + atemu + eclairevoyant + jonringer + k900 + mkg20001 + ]; + scope = "Maintain steam module and packages"; + shortName = "Steam"; + }; + systemd = { members = [ ]; githubTeams = [ |