Nixpkgs: Additional meta-information conventions

Created on 17 Mar 2019  路  11Comments  路  Source: NixOS/nixpkgs

I've had ideas for additional fields that would be nice to have in the meta attribute, but I forgot to make an issue at the time, I'll update this if I can remember anything. I tried to find if there were any RFCs or existing issues for such things but I didn't find any, please crosslink!

Currently I'm thinking it would be nice if there was a field where I could put URLs to references (or a description string, or whatever) for packagers that have information on packaging something. For example compilation/installation instructions, etc.

Another thing would be an attribute for linking to the official documentation of a package. This could also be nice in that when looking at something on https://nixos.org/nixos/packages.html there could be a directly clickable link for accessing documentation.

community feedback

All 11 comments

I'm currently reading the Unix Haters Handbook.

  • Information about incomplete packaging, hasmanpages, etc (would also allow for some automated todo lists)

@Infinisil had some ideas about tagging for handling nixpkgs categories.

https://github.com/NixOS/nixpkgs/issues/45269 something something "possible" dependencies

CVE information

Path(s) to the main executable(s?) if there are any? Would allow a shorthand for something like nix-shell -p python --run python for example.

Additional "usage" information similarly?

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/concepts-for-attaching-metadata-to-nixpkgs/5632/1

Pointing to packages that "obsolete" "old" "unmaintained" packages, but are not blessed forks, or something like that; e.g. scantailor-advanced seems to be a version of scantailor that's more actively developed.

https://github.com/NixOS/rfcs/pull/51#issuecomment-640572127
Volunteer testers for packages

This goes back to another idea I've floated a couple of times: Extending the maintainers field to include support levels. This could reach from "I wrote this, use this, test this and will immediately respond to issues" to "I want to be notified of changes".

That could then also be used to segregate nixpkgs into "core" (everything with sufficient maintainer commitment) and "rest" ("AUR") without actually splitting up the repo. People might be more willing to add themselves to the maintainers list when the commitment is clearly defined.

when the commitment is clearly defined.

  • or lack thereof

There should be an attribute where NixOS configuration attributes that belong to a package can be specified.
This would be good because currently there is no way to create a relationship from a nixpkgs package to services that depend on it, or conversely to hint to users that using some packages may require enabling a service or changing system security configuration. Examples of these would be some of the appname.enable settings.

Was this page helpful?
0 / 5 - 0 ratings