Merge pull request #104722 from rnhmjoj/wpa-fix
nixos/wireless: fix failure with no interfaces
This commit is contained in:
commit
12f367b51c
@ -233,9 +233,10 @@ in {
|
|||||||
path = [ pkgs.wpa_supplicant ];
|
path = [ pkgs.wpa_supplicant ];
|
||||||
|
|
||||||
script = ''
|
script = ''
|
||||||
if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]
|
if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]; then
|
||||||
then echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
|
echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
iface_args="-s -u -D${cfg.driver} -c ${configFile}"
|
iface_args="-s -u -D${cfg.driver} -c ${configFile}"
|
||||||
${if ifaces == [] then ''
|
${if ifaces == [] then ''
|
||||||
for i in $(cd /sys/class/net && echo *); do
|
for i in $(cd /sys/class/net && echo *); do
|
||||||
@ -248,6 +249,10 @@ in {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
if [ -z "$args" ]; then
|
||||||
|
echo >&2 "<3>No wireless interfaces detected (yet)."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
'' else ''
|
'' else ''
|
||||||
args="${concatMapStringsSep " -N " (i: "-i${i} $iface_args") ifaces}"
|
args="${concatMapStringsSep " -N " (i: "-i${i} $iface_args") ifaces}"
|
||||||
''}
|
''}
|
||||||
@ -261,7 +266,7 @@ in {
|
|||||||
|
|
||||||
# Restart wpa_supplicant when a wlan device appears or disappears.
|
# Restart wpa_supplicant when a wlan device appears or disappears.
|
||||||
services.udev.extraRules = ''
|
services.udev.extraRules = ''
|
||||||
ACTION=="add|remove", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", RUN+="/run/current-system/systemd/bin/systemctl try-restart wpa_supplicant.service"
|
ACTION=="add|remove", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", RUN+="/run/current-system/systemd/bin/systemctl restart wpa_supplicant.service"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user