From d4cd164082df917745d6b6ab2f0f2a1427e499de Mon Sep 17 00:00:00 2001 From: Linus Heckemann Date: Thu, 25 Apr 2019 22:54:11 +0200 Subject: [PATCH] nixos/tinc: remove ordering dependency on network.target MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows configuring IP addresses on a tinc interface using networking.interfaces."tinc.${n}".ipv[46].addresses. Previously, this would fail with timeouts, because of the dependency chain tinc.${netname}.service --after--> network.target --after--> network-addresses-tinc.${n}.service (and network-link-…) --after--> sys-subsystem-net-devices-tinc.${n}.device But the network interface doesn't exist until tinc creates it! So systemd waits in vain for the interface to appear, and by then the network-addresses-* and network-link-* units have failed. This leads to the network link not being brought up and the network addresses not being assigned, which in turn stops tinc from actually working. --- nixos/modules/services/networking/tinc.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/services/networking/tinc.nix b/nixos/modules/services/networking/tinc.nix index 3379efd1afce..e98aafc20937 100644 --- a/nixos/modules/services/networking/tinc.nix +++ b/nixos/modules/services/networking/tinc.nix @@ -153,7 +153,6 @@ in ({ description = "Tinc Daemon - ${network}"; wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; path = [ data.package ]; restartTriggers = [ config.environment.etc."tinc/${network}/tinc.conf".source ]; serviceConfig = {