On 14/03/17 20:24, Roni Choudhury wrote: > So my second question is, *how do I know whether a package > has .lib or .dev attributes?*
I know of two options for this: 1. Look at the expressions in a nixpkgs checkout; a good starting point is usually all-packages.nix to find the actual expression and its outputs attribute. 2. Use nix-repl — `nix-repl '<nixpkgs>'` will give you a REPL for the nix language with autocompletion for that sort of thing, which can be very helpful. > A followup question: *if I didn't have libpangocairo.* already in my > store, how would I know which package delivers it?* Hopefully by grepping a nixpkgs checkout. Sometimes the library names don't exactly correspond to expression names, and sometimes they're not in the expressions at all; I'm not really sure what can be done about that, unless there's an index of the files each derivation contains floating about somewhere — I know there's at least a subset of that, for implementing the command-not-found functionality that tells you what to install to make commands available. I tried this with your example of pangocairo and found this line, from some Haskell bindings... "gi-pangocairo" = callPackage ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo , gi-glib, gi-gobject, gi-pango, gobjectIntrospection, haskell-gi , haskell-gi-base, pango, system-cairo, system-pango, text , transformers }: so at that point I'd try looking in the pango and cairo-related packages... Not really ideal, but I don't know if there is a better way. Linus _______________________________________________ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev