Supposons que je recherche un package à installer à l'aide nix-env
de l' --query
opération de:
$ nix-env -qa 'aspell.*en'
aspell-dict-en-7.1-0
J'écris ce nom de package dans /etc/nixos/configuration.nix
, le fichier de configuration principal de NixOS :
environment.systemPackages = with pkgs; [
aspell-dict-en
];
Pourtant, si sudo nixos-rebuild switch
j'exécute, la commande NixOS pour mettre à jour la configuration et installer tous les packages à l'échelle du système spécifiés par déclarativement , elle abandonne avec une erreur:
error: undefined variable ‘aspell-dict-en’ at /etc/nixos/configuration.nix:44:5
Je sais que pour de nombreux packages, bien que pas tous, le nom qui nix-env
revient et le nom que l'on doit spécifier dans l' environment.systemPackages
option de configuration sont différents, mais je ne comprends pas la logique. Comment installer un package que j'ai trouvé via nix-env
?
-P
option ne fonctionne pas--installed
, comme on peut le voir avec lesnix-env -q --installed -P | grep terminus
impressionsterminus-font
au lieu determinus_font
. La solution de contournement est d'utilisernix-env -qaP | grep terminus-font
, mais cela signifie que vous ne pouvez pas facilement vider la sortie denix-env -q --installed
dans leconfiguration.nix
.Si vous utilisez NixOS pour la science des données:
Modules Python :
ou
OU si vous recherchez en particulier des packages / bibliothèques R
vous pouvez également obtenir des packages ig npm avec:
il y a aussi un site web pour rechercher des paquets
la source
Je voudrais enregistrer le résultat de
nix-env -v -qaP '*'
dans un fichier (car il faut généralement un certain temps pour revenir).Gardez à l'esprit, nix-env semble ignorer les choses sous
haskellPackages
(et peut-être d'autres).La recherche nix-env est actuellement assez frustrante car elle prendra plus de 5 secondes, puis reviendra avec un
error: regex error
...la source
En plus des options de Mirzhans: vous pouvez vérifier
/nix/store
commegrep -irw "programm-name" /nix/store
. Mais cela pourrait être un peu déroutant. Toujours dans votre répertoire personnel, vous pouvez vérifier dans le répertoire les.local/share
programmes / applications installés.la source