myservice
j'ai écrit un service de Nixos dans myservice.nix
et je l'inclure dans /etc/nixos/configuration.nix
avec:en utilisant le système de frappe nix avec `nix-instantiate`
imports [ /path/to/myservice.nix ];
et plus tard je l'utilise à l'intérieur configuration.nix
:
services.myservice.enable = true;
question
dans un scénario que je ne peux pas utiliser nixos-rebuild switch
mais parce que taper nix
est lié au options system
en utilisant foo = mkOption { type = types.int; ...}
je suis obligé d'utiliser le options systems
même si je veux juste calculer un fichier de configuration pour nginx
en utilisant nix.
comment évaluer ce nginx.conf seulement?
@aszlig m'a écrit cette commande:
nix-instantiate --eval --strict -E '(import <nixpkgs/nixos> { configuration = { imports = [ nixcloud-reverse-proxy/nixcloud-reverse-proxy.nix ]; services.nixcloud-reverse-proxy.enable = true; }; }).config.system.build.configsFromPath'
résultats d'exécution dans
nix-instantiate --eval --strict -E '(import <nixpkgs/nixos> { configuration = { imports = [ ./nixcloud-reverse-proxy.nix ]; services.nixcloud-reverse-proxy.enable = true; }; }).config.system.build.configsFromPath'
error: attribute ‘configsFromPath’ missing, at (string):1:1
(use ‘--show-trace’ to show detailed location information)
mise à jour
nix-build '<nixpkgs/nixos>' -A config.systemd.services.nixcloud-reverse-proxy.runner -I nixos-config=./configuration.nix
...
/nix/store/lp2jbb1wahhlr7qkq81rmfvk84mjk1vk-nixcloud-reverse-proxy-runner
maintenant je peux l'utiliser pour grep le fichier de configuration:
cat /nix/store/lp2jbb1wahhlr7qkq81rmfvk84mjk1vk-nixcloud-reverse-proxy-runner | grep -o ' /nix/store/.*nginx-reverse-proxy.conf'
... une sorte de solution de contournement mais pas très précise! Je préfère un fichier de configuration dans un répertoire.
malin: nix-build '' -A config.systemd.services.nixcloud-reverse-proxy.runner -I nixos-config =/etc/nixos/configuration.nix –
qknight