Commit b30601bb authored by Adrian Pistol's avatar Adrian Pistol Committed by Austin Seipp
Browse files

nixos/chrony: Add missing rtcsync assertion.

Due to a lot of rebasing, I dropped my added assertion in #259405. This is important.
parent d3deaacf
Loading
Loading
Loading
Loading
+21 −6
Original line number Diff line number Diff line
@@ -178,7 +178,8 @@ in
    users.groups.chrony.gid = config.ids.gids.chrony;

    users.users.chrony =
      { uid = config.ids.uids.chrony;
      {
        uid = config.ids.uids.chrony;
        group = "chrony";
        description = "chrony daemon user";
        home = stateDir;
@@ -202,7 +203,8 @@ in
    ];

    systemd.services.chronyd =
      { description = "chrony NTP daemon";
      {
        description = "chrony NTP daemon";

        wantedBy = [ "multi-user.target" ];
        wants = [ "time-sync.target" ];
@@ -255,5 +257,18 @@ in
          SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @resources" "@clock" "@setuid" "capset" "@chown" ];
        };
      };

    assertions = [
      {
        assertion = !(cfg.enableRTCTrimming && builtins.any (line: (builtins.match "^ *rtcsync" line) != null) (lib.strings.splitString "\n" cfg.extraConfig));
        message = ''
          The chrony module now configures `rtcfile` and `rtcautotrim` for you.
          These options conflict with `rtcsync` and cause chrony to crash.
          Unless you are very sure the former isn't what you want, please remove
          `rtcsync` from `services.chrony.extraConfig`.
          Alternatively, disable this behaviour by `services.chrony.enableRTCTrimming = false;`
        '';
      }
    ];
  };
}