In NixOS, how to figure out who's the package maintainer of a particular package?

Hello friends! I’m a complete newcomer. I wanted to request or at least talk about updating (to 1.5) TuxGuitar package, which is very old (1.2) in NixOS, but I don’t know who I’m supposed to talk to?

You can check it like

nix eval --json '(import <nixpkgs> {}).tuxguitar.meta.maintainers'

It tells you the github username you can mention when opening an issue for it, or you could try mailing directly if that doesn’t get you a response (but usually only as last resort).

or just

nix eval nixpkgs.tuxguitar.meta.maintainers
4 Likes

thanks, great, and where do I open an issue? On the nixpkgs github page?

thanks, is it a more proper way of doing this?

You can open an issue here: Issues · NixOS/nixpkgs · GitHub

Or even better, you could try to update the package yourself and do a pull request :wink:

2 Likes

If you have the repository pulled down, you could also just look at the expression associated with it (I’m rummaging around them all the time, but probably not the case for most users). But @azazel75 's answer is much more succinct.

If you do try to contact the maintainer, just be aware that Nixpkgs has been around for more than a decade, and many of the packages were added when people have vested interests in that package being available. Interests and priorities change with time and the maintainer may no longer may be active with nix (or software), and you should just be aware :slight_smile: . I checked out his github profile and it looks like he hasn’t been active with nixpkgs for at least a year. Your best bet is to be the change you want to see, much in line with @danieldk 's comment. :wink:

And should you be interested in maintaining the package, that would be even better. Do not be deterred by the fact that you’re new to nix - the community is very open and welcoming so just fire away!

Is this still valid if you use flakes?

$ nix eval nixpkgs.morgen.meta.maintainers

path '/home/dustin/nixpkgs.morgen.meta.maintainers' does not contain a 'flake.nix', searching up
error: getting status of '/home/dustin/nixpkgs.morgen.meta.maintainers': No such file or directory

Or is there some other way I need to run it?

Thank you.

We also have a comfortable online search:
https://search.nixos.org/packages
(click on “package details” to see the maintainers)

3 Likes

OMG. I use that page daily, and I never noticed the maintainers data before. :man_facepalming:

of course…

$ nix eval nixpkgs#tuxguitar.meta.maintainers
[ { email = "eniotxxx@xxxxx"; github = "arduxxx"; githubId = 7182; name = "Anto Xxxxx"; } ]
1 Like

Is there some command which still works without flakes? Or even one which works on packages like libtiff?

❯ nix eval nixpkgs#libtiff.meta.maintainers
error: flake 'flake:nixpkgs' does not provide attribute 'packages.x86_64-linux.libtiff.meta.maintainers', 'legacyPackages.x86_64-linux.libtiff.meta.maintainers' or 'libtiff.meta.maintainers'

Yes, there is a way, and it executes much faster than using a flake.

nix eval -f '<nixpkgs>'  morgen.meta.maintainers

The problem is it doesn’t work for libtiff though:

❯ nix eval -f '<nixpkgs>'  libtiff.meta.maintainers
error: attribute 'maintainers' in selection path 'libtiff.meta.maintainers' not found

That’s because libtiff doesn’t have any maintainers field in meta. Which we need to fix. Let’s add it under geospatial team maintenance.

Oh, weird. NixOS Search shows a maintainer - where is it getting that info from then?

You’re looking at 23.11. libtiff: drop maintainership · NixOS/nixpkgs@411fd47 · GitHub

1 Like