Como adicionar pacotes únicos à configuração declarativamente?

1

Depois de usar nix-build para instalar um pacote da unstable, como faço para adicioná-lo ao arquivo configuration.nix?

nix-build -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz idea-ultimate

A única abordagem que eu poderia pensar é usar a função de compilação fetchTarball no arquivo para algum local temporário e, em seguida, nix-env -f nele - existe uma maneira melhor?

    
por LXK 11.02.2017 / 17:24

1 resposta

1

Você pode adicionar o canal como root

sudo nix-channel --add https://nixos.org/channels/nixos-unstable unstable
sudo nix-channel --update unstable

e adicione o pacote a configuration.nix da seguinte forma:

systemPackages = [ ... (import <unstable> {}).idea.idea-ultimate ];

Se você quiser instalá-lo em seu perfil de usuário, use nix-env . Gostaria apenas de adicionar o canal em vez de mexer com fetchTarball . (então é simplesmente nix-env -iA unstable.idea.idea-ultimate )

Não tenho certeza se essa é a maneira mais idiomática.

    
por 11.02.2017 / 23:43

Tags