noogle icon indicating copy to clipboard operation
noogle copied to clipboard

Ability to search for drv builder functions?

Open bew opened this issue 3 years ago • 2 comments

Is your feature request related to a problem? Please describe. I'd like a search functions that build derivations, like the functions that return derivation for python, rust, vim-plugins, ... (the trivial builders are already indexed so that's good, but I think we can do better!)

This would potentially need special support from nixpkgs, to have (in the documentation?) structured metadata about what that function helps to build, like Rust Package, Python Package, Python Environment, Vim Plugin, Nvim Config. Might need to add more usability & attrset option documentation to those as well.

Relevant RFC on docstring format: https://github.com/NixOS/rfcs/pull/145

Describe the solution you'd like Ability to filter by ecosystem (rust, python, java, ..) Ability to filter by category of well-known things to build (config, env, pkg/module, plugin, misc, ..)

See usage documentation (& attribute docs?) or at least link to documentation (potentially generated from structured doc metadata?) ...

Describe alternatives you've considered Grepping nixpkgs, looking at existing packages

bew avatar Mar 25 '23 23:03 bew

This would require doc-strings to have a tags feature. Alternatively, we could maintain a tag-mapping of nixpkgs attributes.

However, noogle doesn't yet discover things like buildPythonPackage. We need to come up with a solution for this first.

buildPythonPackage is defined here: https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/python/mk-python-derivation.nix

Unfortunately we cannot yet discover everything automatically. But I am on the Topic.

hsjobeki avatar Apr 04 '23 12:04 hsjobeki

Almost resolved... https://noogle.dev/f/pkgs/pythonPackages/buildPythonPackage

What else are we missing in the current release of noogle?

You can add any subset yourself easily now btw. https://github.com/nix-community/noogle/blob/main/pasta/src/eval.nix#L23-L48

hsjobeki avatar Jan 07 '24 20:01 hsjobeki