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
.