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

yumydnfen 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.INSTALLarchivo del paquete (para el que desea crear el entorno), es decir, la secciónRequirements/Dependenciespara 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/grepoapt-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.31con la ruta del atributognome2.gtkcontiene 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 $filey en apt-get distro puedes instalar apt-file y hacerapt-file $filepero no puedo ver un equivalente ennix-env -q.fuente