## Hostapd ## ======= ## ## Hostapd (host access point daemon) enables a wireless network ## interface to act as an access point and authentication server, ## providing IEEE 802.11 access point management, and IEEE ## 802.1X/WPA/WPA2/EAP Authenticators. In less technical terms, ## this service is what you need for your Liminix device to ## provide a wireless network that clients can connect to. ## ## If you have more than one wireless network interface (e.g. ## wlan0, wlan1) you can run an instance of hostapd on each of them. { lib, pkgs, config, ...}: let inherit (lib) mkOption types; inherit (pkgs) liminix; in { options = { system.service.hostapd = mkOption { type = liminix.lib.types.serviceDefn; }; system.service.hostapd-ready = mkOption { type = liminix.lib.types.serviceDefn; }; }; config = { system.service.hostapd = liminix.callService ./service.nix { interface = mkOption { type = liminix.lib.types.service; }; package = mkOption { type = types.package; default = pkgs.hostapd; }; params = mkOption { type = types.attrs; }; }; system.service.hostapd-ready = liminix.callService ./ready.nix { interface = mkOption { type = liminix.lib.types.interface; description = "Interface for which to wait that the oper state Master or Master (VLAN) has been reached."; }; }; }; }