summary refs log blame commit diff
path: root/nixos/modules/system/boot/timesyncd.nix
blob: cba965b1cd2b2357bb497a9226d70db895913825 (plain) (tree)



















                                                  

                                                                            

















                                                                                   
{ config, lib, pkgs, ... }:

with lib;

{

  options = {

    services.timesyncd.enable = mkOption {
      default = false;
      type = types.bool;
      description = ''
        Enables the systemd NTP client daemon.
      '';
    };

  };

  config = mkIf config.services.timesyncd.enable {

    systemd.additionalUpstreamSystemUnits = [ "systemd-timesyncd.service" ];

    systemd.services.systemd-timesyncd = {
      wantedBy = [ "sysinit.target" ];
      restartTriggers = [ config.environment.etc."systemd/timesyncd.conf".source ];
    };

    environment.etc."systemd/timesyncd.conf".text = ''
      [Time]
      NTP=${concatStringsSep " " config.services.ntp.servers}
    '';

    systemd.services.ntpd.enable = false;

    users.extraUsers.systemd-timesync.uid = config.ids.uids.systemd-timesync;
    users.extraGroups.systemd-timesync.gid = config.ids.gids.systemd-timesync;

  };

}