Estou usando um gerenciador de pacotes Nix no NixOS . Suponha que eu queira instalar um pacote que forneça um arquivo libgtk-x11-2.0.so.0
. Como encontro um pacote que fornece esse arquivo, semelhante a outras distribuições GNU / Linux ?
Atualmente, tenho que pesquisar no Google e descobrir qual pacote ele pode pertencer e encontrar o pacote correspondente no repositório Nix, mas gostaria de um método mais idiomático.
package-management
nixos
nix
Mirzhan Irkegulov
fonte
fonte
yum
ednf
no RPMland) permitem que você diga "arquivo de instalação", eles descobrem o pacote correto e o instalam.$ command-not-found foo
). Observe que pesquisar arquivos nix (por exemplo, com ctags) não ajudará lá. Você precisa executar a compilação para encontrar o que instala.INSTALL
arquivo do pacote (para o qual você deseja criar o ambiente), ou seja, a seçãoRequirements
/Dependencies
para os pacotes que você precisa ter pré-instalado. Em seguida, procure os pacotes nonixpkgs
. (Em outras palavras, gerenciadores de pacotes são cerca de pacotes de arquivos não ...)yum provides '*/bin/grep'
oudnf provides '*/bin/grep
ouapt-file search 'fprintf.3.gz'
.Respostas:
nix-index é o que você precisa.
Instale e construa o índice:
Localize
libgtk-x11-2.0.so.0
:Resultado:
A última linha diz que o pacote
gtk+-2.24.31
com o caminho do atributognome2.gtk
contém esse arquivo.fonte
Examinando a 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 o make,apt-file $file
mas não consigo ver um equivalente nonix-env -q
.fonte