nix-index
nix-index
— это утилита, которая позволяет быстро определить, какой пакет из Nixpkgs содержит определённый файл. Она создаёт локальную базу данных, индексируя содержимое всех пакетов, доступных в бинарных кешах Nix.
Допустим, вы хотите найти, какой пакет содержит исполняемый файл hello
. После создания индекса можно выполнить:
hello.out 29,488 x /nix/store/<hash>-hello-<version>/bin/hello
linuxPackages_4_4.dpdk.examples 2,022,224 x /nix/store/<hash>-dpdk-<version>-examples/bin/helloworld
...
Это особенно полезно, когда вы знаете имя файла, но не уверены, в каком пакете он находится.
Основной недостаток nix-index заключается в том, что перед первым использованием необходимо создать индекс, что может занять значительное время и ресурсы, особенно на системах с ограниченными возможностями.
Чтобы избежать необходимости локальной индексации, можно воспользоваться проектом nix-index-database
. Он предоставляет предварительно сгенерированные базы данных для различных каналов Nixpkgs, обновляемые еженедельно.