Unverified Commit aff5d1d5 authored by rnhmjoj's avatar rnhmjoj
Browse files

nixos/dhcpcd: remove ntpd workaround

This workaround for NTP daemons has been there for 12 years and is most
likely not needed anymore.
parent a432668a
Loading
Loading
Loading
Loading
+2 −23
Original line number Diff line number Diff line
@@ -10,8 +10,6 @@ let
  enableDHCP = config.networking.dhcpcd.enable &&
        (config.networking.useDHCP || lib.any (i: i.useDHCP == true) interfaces);

  enableNTPService = (config.services.ntp.enable || config.services.ntpd-rs.enable || config.services.openntpd.enable || config.services.chrony.enable);

  # Don't start dhcpcd on explicitly configured interfaces or on
  # interfaces that are part of a bridge, bond or sit device.
  ignoredInterfaces =
@@ -88,23 +86,6 @@ let
      ${cfg.extraConfig}
    '';

  exitHook = pkgs.writeText "dhcpcd.exit-hook" ''
    ${lib.optionalString enableNTPService ''
      if [ "$reason" = BOUND -o "$reason" = REBOOT ]; then
        # Restart ntpd. We need to restart it to make sure that it will actually do something:
        # if ntpd cannot resolve the server hostnames in its config file, then it will never do
        # anything ever again ("couldn't resolve ..., giving up on it"), so we silently lose
        # time synchronisation. This also applies to openntpd.
        ${lib.optionalString config.services.ntp.enable "/run/current-system/systemd/bin/systemctl try-reload-or-restart ntpd.service || true"}
        ${lib.optionalString config.services.ntpd-rs.enable "/run/current-system/systemd/bin/systemctl try-reload-or-restart ntpd-rs.service || true"}
        ${lib.optionalString config.services.openntpd.enable "/run/current-system/systemd/bin/systemctl try-reload-or-restart openntpd.service || true"}
        ${lib.optionalString config.services.chrony.enable "/run/current-system/systemd/bin/systemctl try-reload-or-restart chronyd.service || true"}
      fi
    ''}

    ${cfg.runHook}
  '';

in

{
@@ -217,7 +198,7 @@ in
        wants = [ "network.target" ];
        before = [ "network-online.target" ];

        restartTriggers = lib.optional (enableNTPService || cfg.runHook != "") [ exitHook ];
        restartTriggers = [ cfg.runHook ];

        # Stopping dhcpcd during a reconfiguration is undesirable
        # because it brings down the network interfaces configured by
@@ -246,9 +227,7 @@ in

    environment.systemPackages = [ dhcpcd ];

    environment.etc."dhcpcd.exit-hook" = lib.mkIf (enableNTPService || cfg.runHook != "") {
      source = exitHook;
    };
    environment.etc."dhcpcd.exit-hook".text = cfg.runHook;

    powerManagement.resumeCommands = lib.mkIf config.systemd.services.dhcpcd.enable
      ''