diff options
author | Ricardo M. Correia <rcorreia@wizy.org> | 2017-02-07 13:16:17 +0100 |
---|---|---|
committer | Ricardo M. Correia <rcorreia@wizy.org> | 2017-02-07 13:48:58 +0100 |
commit | af4e6f155e29df6a8b4c938f0e79eb7be706f447 (patch) | |
tree | 3ef32f8efdef3641e3f218c8c3352a3ee364e6ec | |
parent | 83865b2c6cba71c15336ab9aefa3b6bed6986abe (diff) | |
download | nixlib-af4e6f155e29df6a8b4c938f0e79eb7be706f447.tar nixlib-af4e6f155e29df6a8b4c938f0e79eb7be706f447.tar.gz nixlib-af4e6f155e29df6a8b4c938f0e79eb7be706f447.tar.bz2 nixlib-af4e6f155e29df6a8b4c938f0e79eb7be706f447.tar.lz nixlib-af4e6f155e29df6a8b4c938f0e79eb7be706f447.tar.xz nixlib-af4e6f155e29df6a8b4c938f0e79eb7be706f447.tar.zst nixlib-af4e6f155e29df6a8b4c938f0e79eb7be706f447.zip |
nixos.chrony: pass config file directly to daemon
This fixes an issue where `nixops deploy` wouldn't restart the chrony service when the chrony configuration changed, because it wouldn't detect that `/etc/chrony.conf` was a dependency of the chrony service.
-rw-r--r-- | nixos/modules/services/networking/chrony.nix | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/nixos/modules/services/networking/chrony.nix b/nixos/modules/services/networking/chrony.nix index f2ff11633b1b..ff62acff6eb8 100644 --- a/nixos/modules/services/networking/chrony.nix +++ b/nixos/modules/services/networking/chrony.nix @@ -12,6 +12,24 @@ let cfg = config.services.chrony; + configFile = pkgs.writeText "chrony.conf" '' + ${concatMapStringsSep "\n" (server: "server " + server) cfg.servers} + + ${optionalString + cfg.initstepslew.enabled + "initstepslew ${toString cfg.initstepslew.threshold} ${concatStringsSep " " cfg.initstepslew.servers}" + } + + driftfile ${stateDir}/chrony.drift + + keyfile ${keyFile} + generatecommandkey + + ${optionalString (!config.time.hardwareClockInLocalTime) "rtconutc"} + + ${cfg.extraConfig} + ''; + in { @@ -70,25 +88,6 @@ in # Make chronyc available in the system path environment.systemPackages = [ pkgs.chrony ]; - environment.etc."chrony.conf".text = - '' - ${concatMapStringsSep "\n" (server: "server " + server) cfg.servers} - - ${optionalString - cfg.initstepslew.enabled - "initstepslew ${toString cfg.initstepslew.threshold} ${concatStringsSep " " cfg.initstepslew.servers}" - } - - driftfile ${stateDir}/chrony.drift - - keyfile ${keyFile} - generatecommandkey - - ${optionalString (!config.time.hardwareClockInLocalTime) "rtconutc"} - - ${cfg.extraConfig} - ''; - users.extraGroups = singleton { name = "chrony"; gid = config.ids.gids.chrony; @@ -124,7 +123,7 @@ in ''; serviceConfig = - { ExecStart = "${pkgs.chrony}/bin/chronyd -n -m -u chrony"; + { ExecStart = "${pkgs.chrony}/bin/chronyd -n -m -u chrony -f ${configFile}"; }; }; |