Usuários e pacotes reproduzíveis do NixOS?

Usuários e pacotes reproduzíveis do NixOS?

eu sou novoNixOSe tentando aprender seus conceitos. Uma das razões pelas quais estou entusiasmado com isso é que espero que ele seja capaz de me fornecer uma configuração de sistema reproduzível, semelhante ao usoAnsible para localhost. No entanto, não tenho certeza de como conseguir isso.

Estou cienteenvironment.systemPackagesem/etc/nixos/configuration.nix, mas estes são apenas pacotes para todo o sistema. Eu também sei que onix-envO comando pode instalar um pacote para um usuário, mas prefiro declarar esse pacote em um arquivo que possa verificar no controle de origem.

Existe um arquivo específico que eu possa configurar (semelhante a um manual) onde eu possa declarar um conjunto de pacotes para um usuário? Ou pelo menos especifique seu"ambiente do usuário"ou"perfis"(não tenho certeza de qual termo está correto)?

Idealmente, eu poderia pegar alguns arquivos, copiá-los para outro computador, executar um comando e ele estaria no mesmo estado do computador antigo, incluindo vários usuários com diferentes conjuntos de pacotes.

Finalmente, meu caso de uso significa que eu nunca deveria usarnix-envinstalar pacotes?

Responder1

Então perguntei ao pessoal do canal de IRC Freenode #nixos e eles me levaram a esta resposta.

Eu preciso criar um~/.nixpkgs/config.nixarquivo. Nesse arquivo, preciso criar umcoleção de pacotesusando oFunção buildEnve instale-o com nix-env.

Instalando pacotes ad-hoc usandonix-envnão atualiza ~/.nixpkgs/config.nix, portanto, para meu caso de uso, gostaria de evitar fazer isso. Embora seja importante notar que a instalação de pacotes ad-hoc usando nix-envainda é útil para experimentação, uma vez que a instalação da coleção de pacotes usando o --remove-allswitch removeria tudo que não estivesse nessa coleção de pacotes.

informação relacionada