summaryrefslogtreecommitdiff
path: root/config/networking/services/ap.nix
diff options
context:
space:
mode:
authorquentin@aristote.fr <quentin@aristote.fr>2023-07-28 12:49:23 +0200
committerquentin@aristote.fr <quentin@aristote.fr>2023-07-28 12:55:52 +0200
commitd7572d923ba7e119c27193cbe1a057cc556d04d3 (patch)
treec56eb508883ef015c47c91b27bd0a3b6bfb96963 /config/networking/services/ap.nix
parent17d229f3ed3de70e4de74ff6e1a0b9b5b4c58873 (diff)
networking: add dependencies on netdev services
Diffstat (limited to 'config/networking/services/ap.nix')
-rw-r--r--config/networking/services/ap.nix27
1 files changed, 13 insertions, 14 deletions
diff --git a/config/networking/services/ap.nix b/config/networking/services/ap.nix
index 9976fc6..2324c41 100644
--- a/config/networking/services/ap.nix
+++ b/config/networking/services/ap.nix
@@ -2,6 +2,7 @@
let
cfg = config.services.hostapd;
+ nets = config.personal.networking.networks;
makeHostapdConf = { name, device, interface, driver ? cfg.driver, ssid
, hwMode ? cfg.hwMode, channel ? cfg.channel, countryCode ? cfg.countryCode
, passphrase ? secrets.wifi."${name}".passphrase, logLevel ? cfg.logLevel
@@ -83,7 +84,7 @@ let
'' + extraConfig);
hostapdIotConf = makeHostapdConf {
name = "iot";
- inherit (config.personal.networking.networks.iot) device interface;
+ inherit (nets.iot) device interface;
ssid = "Quentinternet of Things";
hwMode = "g";
channel = 0;
@@ -96,7 +97,7 @@ let
};
hostapdWanConf = makeHostapdConf {
name = "wan";
- inherit (config.personal.networking.networks.wan) device interface;
+ inherit (nets.wan) device interface;
ssid = "Quentintranet";
hwMode = "a";
channel = 36;
@@ -123,20 +124,18 @@ in {
};
systemd.services.hostapd = let
- devices = with config.personal.networking.networks; [
- wan.device
- iot.device
- ];
- netDevices = builtins.map (device:
- "sys-subsystem-net-devices-${utils.escapeSystemdPath device}.device")
- devices;
- networkLinkServices =
- builtins.map (device: "network-link-${device}.service") devices;
+ subnets = with nets; [ wan iot ];
+ netDevices = builtins.map (subnet:
+ "sys-subsystem-net-devices-${
+ utils.escapeSystemdPath subnet.device
+ }.device") subnets;
+ netdevServices =
+ builtins.map (subnet: "${subnet.interface}-netdev.service") subnets;
+ dependencies = lib.mkForce (netDevices ++ netdevServices);
in {
serviceConfig.ExecStart = lib.mkForce
"${pkgs.hostapd}/bin/hostapd ${hostapdIotConf} ${hostapdWanConf}";
- after = lib.mkForce netDevices;
- bindsTo = lib.mkForce netDevices;
- requiredBy = lib.mkForce networkLinkServices;
+ after = dependencies;
+ bindsTo = dependencies;
};
}