mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-06-05 21:03:40 +00:00
Replace `services.timesyncd.extraConfig` with a freeform `services.timesyncd.settings.Time` submodule, rendered via `utils.systemdUtils.lib.settingsToSections`. `extraConfig` is removed via `mkRemovedOptionModule`. `servers` and `fallbackServers` are kept as typed wrappers; they now bridge into `settings.Time.NTP` / `settings.Time.FallbackNTP` via `mkDefault` so users can still override them through `settings.Time`. Adds `nixos/tests/systemd-timesyncd` to assert the rendered `timesyncd.conf` contents.
32 lines
952 B
Nix
32 lines
952 B
Nix
{
|
|
name = "systemd-timesyncd";
|
|
meta = {
|
|
maintainers = [ ];
|
|
};
|
|
|
|
nodes.machine =
|
|
{ lib, ... }:
|
|
{
|
|
services.timesyncd = {
|
|
enable = lib.mkForce true;
|
|
servers = [ "ntp.example.com" ];
|
|
fallbackServers = [ "fallback.example.com" ];
|
|
settings.Time = {
|
|
PollIntervalMaxSec = "180";
|
|
RootDistanceMaxSec = "5";
|
|
};
|
|
};
|
|
};
|
|
|
|
testScript = ''
|
|
machine.wait_for_unit("multi-user.target")
|
|
|
|
with subtest("settings.Time renders timesyncd.conf"):
|
|
machine.succeed("grep -F '[Time]' /etc/systemd/timesyncd.conf")
|
|
machine.succeed("grep -F 'NTP=ntp.example.com' /etc/systemd/timesyncd.conf")
|
|
machine.succeed("grep -F 'FallbackNTP=fallback.example.com' /etc/systemd/timesyncd.conf")
|
|
machine.succeed("grep -F 'PollIntervalMaxSec=180' /etc/systemd/timesyncd.conf")
|
|
machine.succeed("grep -F 'RootDistanceMaxSec=5' /etc/systemd/timesyncd.conf")
|
|
'';
|
|
}
|