Como descobrir qual pacote (não instalado) um arquivo pertence ao NixOS?

11

Estou usando um gerenciador de pacotes Nix em NixOS . Suponha que eu queira instalar um pacote que forneça um arquivo libgtk-x11-2.0.so.0 . Como faço para encontrar um pacote que forneça esse arquivo, semelhante a outras outras distribuições GNU / Linux ?

Atualmente eu tenho que pesquisar o arquivo no Google e descobrir qual pacote ele pode pertencer e encontrar o pacote correspondente no repositório Nix, mas eu gostaria de um método mais idiomático.

    
por Mirzhan Irkegulov 29.12.2015 / 21:31

2 respostas

7

nix-index é o que você precisa.

Instale e crie o índice:

nix-env -iA nixos.nix-index
nix-index

Localizar libgtk-x11-2.0.so.0 :

nix-locate -w libgtk-x11-2.0.so.0

Saída:

(zed.out)                                             0 s /nix/store/bc4mngklj2j7hmm21jra4641x4pm9r8z-node-webkit-env/lib/libgtk-x11-2.0.so.0
(thrust.out)                                          0 s /nix/store/wzg0k4i2cy0qsm3hwxlywxxbga019hbq-env-thrust/lib/libgtk-x11-2.0.so.0
(nwjs_0_12.out)                                       0 s /nix/store/js6klvzjfi5q4djmwb0bqzfb4x0vzm6g-nwjs-env/lib/libgtk-x11-2.0.so.0
(node_webkit_0_11.out)                                0 s /nix/store/30vm6a7bmc56ckl575rqassw60ccxjpg-node-webkit-env/lib/libgtk-x11-2.0.so.0
(mumble_overlay.out)                                  0 s /nix/store/wayx023w1nslqg2z0c5v4n0b4jxn5n06-gtk+-2.24.31/lib/libgtk-x11-2.0.so.0
gnome2.gtk.out                                        0 s /nix/store/3iqchhncghm5s458lzy99c3prfymrnp2-gtk+-2.24.31/lib/libgtk-x11-2.0.so.0

A última linha diz que o pacote gtk+-2.24.31 com o caminho do atributo gnome2.gtk contém este arquivo.

    
por 12.11.2017 / 11:14
2

Olhando pela documentação, parece que não há uma maneira fácil de fazer isso.

Com a distro baseada no yum você pode fazer yum provides $file e no apt-get distro você pode instalar o apt-file e fazer apt-file $file mas não consigo ver um equivalente em nix-env -q .

    
por 18.04.2016 / 17:02