From bd1071d02bfa422c8137a666c47fa3b7b1ec7ce9 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 10 Oct 2012 22:47:50 -0400 Subject: [PATCH] Remove "wants" dependencies on .service Instead it's enough to depend on sys-subsystem-net-devices-.device, which in turn has a "wants" dependency on the service (if any) that creates the interface. --- modules/programs/virtualbox.nix | 2 +- modules/tasks/network-interfaces.nix | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/modules/programs/virtualbox.nix b/modules/programs/virtualbox.nix index 27e4ac400da6..e62b05bd8969 100644 --- a/modules/programs/virtualbox.nix +++ b/modules/programs/virtualbox.nix @@ -24,7 +24,7 @@ let virtualbox = config.boot.kernelPackages.virtualbox; in requires = [ "dev-vboxnetctl.device" ]; after = [ "dev-vboxnetctl.device" ]; before = [ "network-interfaces.service" ]; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "network.target" "sys-subsystem-net-devices-vboxnet0.device" ]; path = [ virtualbox ]; preStart = '' diff --git a/modules/tasks/network-interfaces.nix b/modules/tasks/network-interfaces.nix index c0499c9f94ca..65da0610b8fe 100644 --- a/modules/tasks/network-interfaces.nix +++ b/modules/tasks/network-interfaces.nix @@ -287,9 +287,8 @@ in configureInterface = i: nameValuePair "${i.name}-cfg" { description = "Configuration of ${i.name}"; wantedBy = [ "network.target" ]; - wants = [ "${i.name}.service" ]; bindsTo = [ "sys-subsystem-net-devices-${i.name}.device" ]; - after = [ "${i.name}.service" "sys-subsystem-net-devices-${i.name}.device" ]; + after = [ "sys-subsystem-net-devices-${i.name}.device" ]; serviceConfig.Type = "oneshot"; serviceConfig.RemainAfterExit = true; path = [ pkgs.iproute ]; @@ -323,7 +322,7 @@ in createTunDevice = i: nameValuePair "${i.name}" { description = "Virtual Network Interface ${i.name}"; - wantedBy = [ "network.target" ]; + wantedBy = [ "network.target" "sys-subsystem-net-devices-${i.name}.device" ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; @@ -337,8 +336,7 @@ in deps = map (i: "sys-subsystem-net-devices-${i}.device") v.interfaces; in { description = "Bridge Interface ${n}"; - wantedBy = [ "network.target" ]; - wants = map (i: "${i}.service") v.interfaces; + wantedBy = [ "network.target" "sys-subsystem-net-devices-${n}.device" ]; bindsTo = deps; after = deps; serviceConfig.Type = "oneshot";