[Nix-dev] Displaying package parameters

Fabian Schmitthenner nix-dev at schmitthenner.eu
Mon Mar 21 15:15:40 CET 2016


No, at least I haven't planned it. Also, IMHO we'd need to patch nixpkgs
with [1] to be able to do this (then you can interactively view
parameters of packages etc. interactively with nix-repl with a few nice
functions). Part of this has been proposed here:
https://github.com/NixOS/nixpkgs/pull/13890, I will wait until this is
decided to maybe think about it.

btw @Roger Qiu: did you manage to get the demo working in the meantime?

[1]
https://github.com/fkz/nixos-homepage/blob/master/nixpkgs/packages.json-generation/nixpkgs.patch

On 03/21/2016 01:30 PM, Roger Qiu wrote:

> Just wanted to ask, is this package search enhanced with showing package 
> parameters planned to be added to the standard command line Nix query 
> tools? Or if it's already available and I haven't found it.
>
> On 9/03/2016 2:46 AM, Fabian Schmitthenner wrote:
>> I've added a few features:
>>
>> - Search in 15.09 as well as 16.03
>> - Search in parameters
>> - A few more packages with parameters are recognized, e. g. firefox now
>> shows parameters
>> - Better error handling: If a parameter fails while trying to determine
>> what kind it is, it's simply not displayed, but anything else is
>>
>> As before, demo can be foud here:
>> http://schmitthenner.eu/nixos-homepage/nixos/packages.html. (compare to
>> official version: https://nixos.org/nixos/packages.html). You might need
>> to clear your cache to see the new version.
>>
>> I've also added a pull request:
>> https://github.com/NixOS/nixos-homepage/pull/78. Feel free to comment
>> either on the list or on github.
>>
>> Have a great day!
>>
>> Fabian
>>
>> On 02/29/2016 03:59 AM, Fabian Schmitthenner wrote:
>>> Hi!
>>>
>>> I just wanted to share that I tried displaying package parameters on the
>>> nixos homepage and the current result can be seen here:
>>> http://schmitthenner.eu/nixos-homepage/nixos/packages.html.
>>>
>>> When you click on a package, you hopefully see its parameter. This uses
>>> a heruristic to try to figure out which parameters are packages (and
>>> thus not displayed) and which are not (and thus displayed) that goes
>>> roughly as follows:
>>>
>>> - If the parameter is instantiated - either implicitly or explicitly -
>>> by callPackage, we look at the value and if it's a derivation, or a list
>>> or attrset set of derivations, or a function it's not displayed
>>> - Otherwise, it's displayed
>>>
>>> I think there was a discussion about this a short while ago, but I
>>> couldn't find it.
>>>
>>> Please let me know what you think and if we might want a (more elaborate
>>> version, e. g. also displaying the value of default arguments that
>>> aren't changed by callPackage, which requires an other change to nix
>>> because this info is currently not available, we only know if the
>>> argument is optional or not afaik) of this on our official website.
>>>
>>> Source code can be found on
>>> https://github.com/NixOS/nixos-homepage/compare/master...fkz:master
>>> Technically, I patched nixpkgs customization, so we not only get the
>>> override... functions, but also the original parameters and the original
>>> function.
>>> Furthermore, this uses a patched version of nix which allows catching
>>> errors inside nix (added a primop __catch) that also seems useful more
>>> generally (when polished) (see https://github.com/fkz/nix/tree/catch-throw).
>>>
>>> Fabian
>>>
>> _______________________________________________
>> nix-dev mailing list
>> nix-dev at lists.science.uu.nl
>> http://lists.science.uu.nl/mailman/listinfo/nix-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20160321/6d848656/attachment.html 


More information about the nix-dev mailing list