Estoy usando un administrador de paquetes Nix en NixOS . Supongamos que quiero instalar un paquete que proporciona un archivo libgtk-x11-2.0.so.0
. ¿Cómo encuentro un paquete que proporcione este archivo, similar a otras distribuciones de GNU / Linux ?
Actualmente tengo que buscar en Google el archivo y averiguar a qué paquete pertenece y encontrar el paquete correspondiente en el repositorio de Nix, pero me gustaría un método más idiomático.
package-management
nixos
nix
Mirzhan Irkegulov
fuente
fuente
yum
ydnf
en RPMland) le permiten decir "instalar archivo", descifran el paquete correcto e instalan ese.$ command-not-found foo
). Tenga en cuenta que buscar archivos nix (por ejemplo, con ctags) no ayudará allí. Debe realizar la compilación para encontrar lo que instala.INSTALL
archivo del paquete (para el que desea crear el entorno), es decir, la secciónRequirements
/Dependencies
para los paquetes que debe tener preinstalados. Luego busque los paquetes ennixpkgs
. (En otras palabras, los administradores de paquetes tratan sobre paquetes, no archivos ...)yum provides '*/bin/grep'
ordnf provides '*/bin/grep
oapt-file search 'fprintf.3.gz'
.Respuestas:
nix-index es lo que necesitas.
Instalar y construir el índice:
Localizar
libgtk-x11-2.0.so.0
:Salida:
La última línea dice que el paquete
gtk+-2.24.31
con la ruta del atributognome2.gtk
contiene este archivo.fuente
Mirando a través de la documentación, no parece que haya una manera fácil de hacerlo.
Con la distribución basada en yum puedes hacer
yum provides $file
y en apt-get distro puedes instalar apt-file y hacerapt-file $file
pero no puedo ver un equivalente ennix-env -q
.fuente