Revert "nixos/wireless: make wireless.interfaces mandatory"

This reverts commit 030a521adc9510207dd9f06b8d8b552ff7d999f9.

(cherry picked from commit eba5f5c1e5a61ef65a970c699b9f93aff87448bf)
This commit is contained in:
rnhmjoj
2021-06-08 08:52:41 -07:00
committed by Jonathan Ringer
parent e041608a92
commit df9df54d63
2 changed files with 17 additions and 19 deletions
@@ -40,7 +40,8 @@ in {
default = [];
example = [ "wlan0" "wlan1" ];
description = ''
The interfaces <command>wpa_supplicant</command> will use.
The interfaces <command>wpa_supplicant</command> will use. If empty, it will
automatically use all wireless interfaces.
'';
};
@@ -219,14 +220,7 @@ in {
};
config = mkIf cfg.enable {
assertions = [
{ assertion = cfg.interfaces != [];
message = ''
No network interfaces for wpa_supplicant have been configured.
Please, specify at least one using networking.wireless.interfaces.
'';
}
] ++ flip mapAttrsToList cfg.networks (name: cfg: {
assertions = flip mapAttrsToList cfg.networks (name: cfg: {
assertion = with cfg; count (x: x != null) [ psk pskRaw auth ] <= 1;
message = ''options networking.wireless."${name}".{psk,pskRaw,auth} are mutually exclusive'';
});
@@ -261,7 +255,20 @@ in {
then echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
fi
iface_args="-s -u -D${cfg.driver} ${configStr}"
args="${concatMapStringsSep " -N " (i: "-i${i} $iface_args") ifaces}"
${if ifaces == [] then ''
for i in $(cd /sys/class/net && echo *); do
DEVTYPE=
UEVENT_PATH=/sys/class/net/$i/uevent
if [ -e "$UEVENT_PATH" ]; then
source "$UEVENT_PATH"
if [ "$DEVTYPE" = "wlan" -o -e /sys/class/net/$i/wireless ]; then
args+="''${args:+ -N} -i$i $iface_args"
fi
fi
done
'' else ''
args="${concatMapStringsSep " -N " (i: "-i${i} $iface_args") ifaces}"
''}
exec wpa_supplicant $args
'';
};