J'utilise un gestionnaire de packages Nix sur NixOS . Supposons que je veuille installer un package qui fournit un fichier libgtk-x11-2.0.so.0
. Comment puis-je trouver un package qui fournit ce fichier, similaire aux autres distributions GNU / Linux ?
Actuellement, je dois google le fichier et déterminer à quel package il pourrait appartenir et trouver le package correspondant sur le référentiel Nix, mais je voudrais une méthode plus idiomatique.
package-management
nixos
nix
Mirzhan Irkegulov
la source
la source
yum
etdnf
dans RPMland) vous permettent de dire "installer le fichier", ils trouvent le bon paquet et installent celui-ci.$ command-not-found foo
). Notez que la recherche de fichiers nix (par exemple avec ctags) n'y aidera pas. Vous devez effectuer la génération pour trouver ce qu'elle installe.INSTALL
fichier du package (pour lequel vous souhaitez créer l'environnement), à savoir la sectionRequirements
/Dependencies
pour les packages que vous devez préinstaller. Recherchez ensuite les packages dansnixpkgs
. (En d'autres termes, les gestionnaires de packages concernent les packages et non les fichiers ...)yum provides '*/bin/grep'
oudnf provides '*/bin/grep
ouapt-file search 'fprintf.3.gz'
.Réponses:
nix-index est ce dont vous avez besoin.
Installez et construisez l'index:
Localiser
libgtk-x11-2.0.so.0
:Production:
La dernière ligne indique que le package
gtk+-2.24.31
avec le chemin d'attributgnome2.gtk
contient ce fichier.la source
En parcourant la documentation, il ne semble pas qu'il existe un moyen simple de le faire.
Avec la distribution basée sur yum, vous pouvez le faire
yum provides $file
et dans la distribution apt-get, vous pouvez installer apt-file et faire,apt-file $file
mais je ne vois pas d'équivalent dansnix-env -q
.la source