From 725fcdef3f675e96e591377ff9776c72edb13c60 Mon Sep 17 00:00:00 2001 From: clefru Date: Wed, 17 Oct 2018 09:18:52 +0200 Subject: [PATCH] Fix hostapd's place in systemd dependency tree. (#45464) * nat/bind/dhcp.service: Remove. Those services have nothing to do with a link-level service. * sys-subsystem-net-devices-${if}.device: Add as BindsTo dependency as this will make hostapd stop when the device is unplugged. * network-link-${if}.service: Add hostapd as dependency for this service via requiredBy clause, so that the network link is only considered to be established only after hostapd has started. * network.target: Remove this from wantedBy clause as this is already implied from dependencies stacked above hostapd. And if it's not implied than starting hostapd is not required for this particular network configuration. --- nixos/modules/services/networking/hostapd.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/networking/hostapd.nix b/nixos/modules/services/networking/hostapd.nix index 3af0441a89d..9f74e496329 100644 --- a/nixos/modules/services/networking/hostapd.nix +++ b/nixos/modules/services/networking/hostapd.nix @@ -157,9 +157,9 @@ in { description = "hostapd wireless AP"; path = [ pkgs.hostapd ]; - wantedBy = [ "network.target" ]; - - after = [ "${cfg.interface}-cfg.service" "nat.service" "bind.service" "dhcpd.service" "sys-subsystem-net-devices-${cfg.interface}.device" ]; + after = [ "sys-subsystem-net-devices-${cfg.interface}.device" ]; + bindsTo = [ "sys-subsystem-net-devices-${cfg.interface}.device" ]; + requiredBy = [ "network-link-${cfg.interface}.service" ]; serviceConfig = { ExecStart = "${pkgs.hostapd}/bin/hostapd ${configFile}";