From 1590461887333e2fda46f4bd74aef3785b253089 Mon Sep 17 00:00:00 2001 From: Jörg Thalheim Date: Wed, 14 Dec 2016 23:49:14 +0100 Subject: ntp: make timesyncd the new default - most nixos user only require time synchronisation, while ntpd implements a battery-included ntp server (1,215 LOCs of C-Code vs 64,302) - timesyncd support ntp server per interface (if configured through dhcp for instance) - timesyncd is already included in the systemd package, switching to it would save a little disk space (1,5M) --- nixos/modules/config/networking.nix | 12 +++++++++++ nixos/modules/services/networking/chrony.nix | 4 ++-- nixos/modules/services/networking/ntpd.nix | 10 +++------- nixos/modules/services/networking/openntpd.nix | 2 +- nixos/modules/system/boot/networkd.nix | 3 --- nixos/modules/system/boot/timesyncd.nix | 23 +++++++++++++--------- .../virtualisation/google-compute-image.nix | 2 +- nixos/modules/virtualisation/parallels-guest.nix | 2 +- nixos/modules/virtualisation/qemu-vm.nix | 2 +- nixos/modules/virtualisation/xen-domU.nix | 2 +- 10 files changed, 36 insertions(+), 26 deletions(-) diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix index fdc782b0579..adc05f60231 100644 --- a/nixos/modules/config/networking.nix +++ b/nixos/modules/config/networking.nix @@ -84,6 +84,18 @@ in ''; }; + networking.timeServers = mkOption { + default = [ + "0.nixos.pool.ntp.org" + "1.nixos.pool.ntp.org" + "2.nixos.pool.ntp.org" + "3.nixos.pool.ntp.org" + ]; + description = '' + The set of NTP servers from which to synchronise. + ''; + }; + networking.proxy = { default = lib.mkOption { diff --git a/nixos/modules/services/networking/chrony.nix b/nixos/modules/services/networking/chrony.nix index d40865ebbd5..f2ff11633b1 100644 --- a/nixos/modules/services/networking/chrony.nix +++ b/nixos/modules/services/networking/chrony.nix @@ -31,7 +31,7 @@ in }; servers = mkOption { - default = config.services.ntp.servers; + default = config.networking.timeServers; description = '' The set of NTP servers from which to synchronise. ''; @@ -102,7 +102,7 @@ in home = stateDir; }; - systemd.services.ntpd.enable = mkForce false; + systemd.services.timesyncd.enable = mkForce false; systemd.services.chronyd = { description = "chrony NTP daemon"; diff --git a/nixos/modules/services/networking/ntpd.nix b/nixos/modules/services/networking/ntpd.nix index c8a08567928..88e6dbf22b9 100644 --- a/nixos/modules/services/networking/ntpd.nix +++ b/nixos/modules/services/networking/ntpd.nix @@ -34,7 +34,7 @@ in services.ntp = { enable = mkOption { - default = !config.boot.isContainer; + default = false; description = '' Whether to synchronise your machine's time using the NTP protocol. @@ -42,12 +42,7 @@ in }; servers = mkOption { - default = [ - "0.nixos.pool.ntp.org" - "1.nixos.pool.ntp.org" - "2.nixos.pool.ntp.org" - "3.nixos.pool.ntp.org" - ]; + default = config.networking.timeServers; description = '' The set of NTP servers from which to synchronise. ''; @@ -70,6 +65,7 @@ in # Make tools such as ntpq available in the system path. environment.systemPackages = [ pkgs.ntp ]; + services.timesyncd.enable = mkForce false; users.extraUsers = singleton { name = ntpUser; diff --git a/nixos/modules/services/networking/openntpd.nix b/nixos/modules/services/networking/openntpd.nix index a8625fa2fa9..13a1b5258ce 100644 --- a/nixos/modules/services/networking/openntpd.nix +++ b/nixos/modules/services/networking/openntpd.nix @@ -49,7 +49,7 @@ in ###### implementation config = mkIf cfg.enable { - services.ntp.enable = mkForce false; + services.timesyncd.enable = mkForce false; # Add ntpctl to the environment for status checking environment.systemPackages = [ package ]; diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index 8c139a94c0c..e5ec70d8690 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -687,8 +687,5 @@ in }; services.resolved.enable = mkDefault true; - services.timesyncd.enable = mkDefault config.services.ntp.enable; - }; - } diff --git a/nixos/modules/system/boot/timesyncd.nix b/nixos/modules/system/boot/timesyncd.nix index cba965b1cd2..f643723ab14 100644 --- a/nixos/modules/system/boot/timesyncd.nix +++ b/nixos/modules/system/boot/timesyncd.nix @@ -6,14 +6,21 @@ with lib; options = { - services.timesyncd.enable = mkOption { - default = false; - type = types.bool; - description = '' - Enables the systemd NTP client daemon. - ''; + services.timesyncd = { + enable = mkOption { + default = !config.boot.isContainer; + type = types.bool; + description = '' + Enables the systemd NTP client daemon. + ''; + }; + servers = mkOption { + default = config.networking.timeServers; + description = '' + The set of NTP servers from which to synchronise. + ''; + }; }; - }; config = mkIf config.services.timesyncd.enable { @@ -30,8 +37,6 @@ with lib; 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; diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix index 90dbd3b6d63..0e6825c3f5d 100644 --- a/nixos/modules/virtualisation/google-compute-image.nix +++ b/nixos/modules/virtualisation/google-compute-image.nix @@ -125,7 +125,7 @@ in 169.254.169.254 metadata.google.internal metadata ''; - services.ntp.servers = [ "metadata.google.internal" ]; + networking.timeServers = [ "metadata.google.internal" ]; networking.usePredictableInterfaceNames = false; diff --git a/nixos/modules/virtualisation/parallels-guest.nix b/nixos/modules/virtualisation/parallels-guest.nix index 204ab0b0df6..bd85973ee56 100644 --- a/nixos/modules/virtualisation/parallels-guest.nix +++ b/nixos/modules/virtualisation/parallels-guest.nix @@ -57,7 +57,7 @@ in boot.kernelModules = [ "prl_tg" "prl_eth" "prl_fs" "prl_fs_freeze" "acpi_memhotplug" ]; - services.ntp.enable = false; + services.timesyncd.enable = false; systemd.services.prltoolsd = { description = "Parallels Tools' service"; diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix index 263bbf78583..05fe13ba7c7 100644 --- a/nixos/modules/virtualisation/qemu-vm.nix +++ b/nixos/modules/virtualisation/qemu-vm.nix @@ -478,7 +478,7 @@ in boot.initrd.luks.devices = mkVMOverride {}; # Don't run ntpd in the guest. It should get the correct time from KVM. - services.ntp.enable = false; + services.timesyncd.enable = false; system.build.vm = pkgs.runCommand "nixos-vm" { preferLocalBuild = true; } '' diff --git a/nixos/modules/virtualisation/xen-domU.nix b/nixos/modules/virtualisation/xen-domU.nix index 2db3190ad13..8dd0d1dbfd2 100644 --- a/nixos/modules/virtualisation/xen-domU.nix +++ b/nixos/modules/virtualisation/xen-domU.nix @@ -18,5 +18,5 @@ services.syslogd.tty = "hvc0"; # Don't run ntpd, since we should get the correct time from Dom0. - services.ntp.enable = false; + services.timesyncd.enable = false; } -- cgit 1.4.1