Existe alguma maneira de imprimir todas as opções de configuração no meu configuration.nix?

2

Eu quero configurar o jetty em nixos. Eu posso instalá-lo através do system.systemPackages, mas não consigo executá-lo automaticamente (services.jetty não está definido)

Eu não quero perguntar todas as opções aqui, então quero saber se há documentação ou uma maneira de imprimir todas as opções em serviços?

Eu procurei aqui , e também não consigo encontrar nada lá

    
por nixos 28.05.2016 / 02:21

1 resposta

2

Para responder ao título da sua pergunta; o programa utilitário NixOS nixos-option permitirá que você consulte a quais atributos do seu configuration.nix avaliem.

Eu não sei se o NixOS explicitamente fornece uma maneira de imprimir a coisa toda, mas você provavelmente poderia fazê-lo sozinho com bastante facilidade usando a mesma função O NixOS usa internamente para avaliar configuration.nix. IIRC você precisaria chamá-lo com { modules = [ /etc/nixos/configuration.nix ]; } . Você poderia então usar a funcionalidade toXML do Nix para obter a configuração avaliada em uma string imprimível. builtins.toXML ou o --xml flag para nix-instantiate são ambas as formas possíveis de acessar essa funcionalidade.

Eu devo dizer que se você fizer isso, haverá muito de xml.

Mas eu acho que não é realmente o corpo da sua pergunta. Parece que você quer verificar quais são todos os serviços NixOS predefinidos disponíveis? O apêndice das opções de configuração para o O manual do NixOS lista essa informação.

No entanto, se você está atrás de uma unidade de serviço para o Jetty, ela não existe atualmente.

Eu não sei nada sobre Jetty, mas imagino que você poderia escrever o seu próprio facilmente (eu escrevi alguns para mim e achei bastante simples). Esta entrada no wiki do NixOS fornece um exemplo de uma unidade de serviço nelson systemd. Você também pode procurar por todos os outros módulos NixOS para seguir como estão escritos. E, claro, consultar as páginas do manual do systemd também.

Em uma nota lateral, se você fizer isso, você não precisará declarar um módulo binário em systemPackages , porque seu caminho é puxado para dentro de sua unidade systemd, então você apenas interage com ele.

    
por 28.05.2016 / 11:30

Tags