From 51b5602b458f8ab2b62f397fe98dcd16b7f44135 Mon Sep 17 00:00:00 2001 From: arcnmx Date: Fri, 25 Nov 2022 17:47:47 -0800 Subject: [PATCH] nixos/networkd: add wait-online.enable option When no interfaces are managed by systemd-networkd, it will unconditionally fail. This option allows it to be disabled in those situations where it prevents system switches from succeeding. --- nixos/modules/system/boot/networkd.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix index 28abf820ec09..3f6666b20482 100644 --- a/nixos/modules/system/boot/networkd.nix +++ b/nixos/modules/system/boot/networkd.nix @@ -1900,6 +1900,20 @@ in }; systemd.network.wait-online = { + enable = mkOption { + type = types.bool; + default = true; + example = false; + description = lib.mdDoc '' + Whether to enable the systemd-networkd-wait-online service. + + systemd-networkd-wait-online can timeout and fail if there are no network interfaces + available for it to manage. When systemd-networkd is enabled but a different service is + responsible for managing the system's internet connection (for example, NetworkManager or + connman are used to manage WiFi connections), this service is unnecessary and can be + disabled. + ''; + }; anyInterface = mkOption { description = lib.mdDoc '' Whether to consider the network online when any interface is online, as opposed to all of them. @@ -1981,6 +1995,7 @@ in }; systemd.services.systemd-networkd-wait-online = { + inherit (cfg.wait-online) enable; wantedBy = [ "network-online.target" ]; serviceConfig.ExecStart = [ ""