A comunidade NixOS possui três manuais, sempre os consulte primeiro, se você estiver preso:
Todo pacote no Nix é especificado por uma expressão do Nix. Uma expressão Nix é algum texto, escrito na linguagem Nix, normalmente residindo em um arquivo com extensão .nix
.
Toda expressão tem o chamado "nome simbólico", um nome legível por humanos que é impresso quando você usa nix-env
. Veja a amostra da expressão Nix . O próprio Nix não usa esse nome simbólico em nenhum lugar internamente, por isso não importa se o seu pacote tem o nome aspell-dict-en
, é apenas para sua conveniência humana.
O que realmente importa é o chamado "caminho do atributo". Portanto, sua confusão está entre o nome simbólico e o caminho do atributo. Cada pacote possui um caminho de atributo, que você pode usar na environment.systemPackages
opção de configuração para instalar em todo o sistema usando o gerenciamento declarativo de pacotes .
Para descobrir o caminho do atributo do seu pacote, adicione outro sinalizador -P
à sua consulta:
$ nix-env -qaP 'aspell.*en'
nixos.aspellDicts.en aspell-dict-en-7.1-0
Você deve se sentir confortável nix-env
em usar diariamente, portanto pratique a chamada nix-env
com --query
e --install
opções. No entanto, você também pode procurar pacotes e descobrir seus caminhos de atributos online na pesquisa de pacotes Nix . Digite aspell
, clique em aspell-dict-en
e você verá várias propriedades do pacote, incluindo o caminho do atributo como parte do comando de instalação:
$ nix-env -iA nixos.pkgs.aspellDicts.en
Agora você pode colocar este caminho de atributo em /etc/nixos/configuration.nix
:
environment.systemPackages = with pkgs; [
aspellDicts.en
];
Atualize o sistema executando sudo nixos-rebuild switch
.
-P
opção não funciona--installed
, como pode ser visto com asnix-env -q --installed -P | grep terminus
impressões emterminus-font
vez determinus_font
. A solução alternativa é usarnix-env -qaP | grep terminus-font
, mas isso significa que você não pode despejar facilmente a saídanix-env -q --installed
noconfiguration.nix
.