network: make network-setup service do not depend on udevd directly; fix typo with GRE tunnels

Otherwise, when doing nixos switch to major changes (typically when stdenv changes), udevd service gets loaded after addresses, which causes addresses service to wait indefinitely for the device and fail.

Signed-off-by: Egor Savkin <es@m-labs.hk>
(cherry picked from commit 201f27715e)
This commit is contained in:
Egor Savkin 2025-01-15 10:32:39 +08:00 committed by github-actions[bot]
parent 5d7db4668d
commit 13bebbbe02

View file

@ -77,6 +77,7 @@ let
(hasAttr dev cfg.macvlans) ||
(hasAttr dev cfg.sits) ||
(hasAttr dev cfg.vlans) ||
(hasAttr dev cfg.greTunnels) ||
(hasAttr dev cfg.vswitches)
then [ "${dev}-netdev.service" ]
else optional (!config.boot.isContainer) (subsystemDevice dev);
@ -94,7 +95,7 @@ let
networkSetup = lib.mkIf needNetworkSetup
{ description = "Networking Setup";
after = [ "network-pre.target" "systemd-udevd.service" "systemd-sysctl.service" ];
after = [ "network-pre.target" ];
before = [ "network.target" "shutdown.target" ];
wants = [ "network.target" ];
# exclude bridges from the partOf relationship to fix container networking bug #47210