···4242 description = ''
4343 The interfaces <command>wpa_supplicant</command> will use. If empty, it will
4444 automatically use all wireless interfaces.
4545- <warning><para>
4646- The automatic discovery of interfaces does not work reliably on boot:
4747- it may fail and leave the system without network. When possible, specify
4848- a known interface name.
4949- </para></warning>
5045 '';
5146 };
5247···230225 message = ''options networking.wireless."${name}".{psk,pskRaw,auth} are mutually exclusive'';
231226 });
232227233233- warnings =
234234- optional (cfg.interfaces == [] && config.systemd.services.wpa_supplicant.wantedBy != [])
235235- ''
236236- No network interfaces for wpa_supplicant have been configured: the service
237237- may randomly fail to start at boot. You should specify at least one using the option
238238- networking.wireless.interfaces.
239239- '';
240240-241228 environment.systemPackages = [ package ];
242229243230 services.dbus.packages = [ package ];
···258245 wantedBy = [ "multi-user.target" ];
259246 stopIfChanged = false;
260247261261- path = [ package ];
248248+ path = [ package pkgs.udev ];
262249263250 script = let
264251 configStr = if cfg.allowAuxiliaryImperativeNetworks
265252 then "-c /etc/wpa_supplicant.conf -I ${configFile}"
266253 else "-c ${configFile}";
267254 in ''
268268- if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]
269269- then echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
255255+ if [ -f /etc/wpa_supplicant.conf -a "/etc/wpa_supplicant.conf" != "${configFile}" ]; then
256256+ echo >&2 "<3>/etc/wpa_supplicant.conf present but ignored. Generated ${configFile} is used instead."
270257 fi
258258+271259 iface_args="-s -u -D${cfg.driver} ${configStr}"
260260+272261 ${if ifaces == [] then ''
273273- for i in $(cd /sys/class/net && echo *); do
274274- DEVTYPE=
275275- UEVENT_PATH=/sys/class/net/$i/uevent
276276- if [ -e "$UEVENT_PATH" ]; then
277277- source "$UEVENT_PATH"
278278- if [ "$DEVTYPE" = "wlan" -o -e /sys/class/net/$i/wireless ]; then
279279- args+="''${args:+ -N} -i$i $iface_args"
280280- fi
281281- fi
262262+ # detect interfaces automatically
263263+264264+ # check if there are no wireless interface
265265+ if ! find -H /sys/class/net/* -name wireless | grep -q .; then
266266+ # if so, wait until one appears
267267+ echo "Waiting for wireless interfaces"
268268+ grep -q '^ACTION=add' < <(stdbuf -oL -- udevadm monitor -s net/wlan -pu)
269269+ # Note: the above line has been carefully written:
270270+ # 1. The process substitution avoids udevadm hanging (after grep has quit)
271271+ # until it tries to write to the pipe again. Not even pipefail works here.
272272+ # 2. stdbuf is needed because udevadm output is buffered by default and grep
273273+ # may hang until more udev events enter the pipe.
274274+ fi
275275+276276+ # add any interface found to the daemon arguments
277277+ for name in $(find -H /sys/class/net/* -name wireless | cut -d/ -f 5); do
278278+ echo "Adding interface $name"
279279+ args+="''${args:+ -N} -i$name $iface_args"
282280 done
283281 '' else ''
282282+ # add known interfaces to the daemon arguments
284283 args="${concatMapStringsSep " -N " (i: "-i${i} $iface_args") ifaces}"
285284 ''}
285285+286286+ # finally start daemon
286287 exec wpa_supplicant $args
287288 '';
288289 };
+1-1
pkgs/applications/editors/vim/vimacs.nix
···4455stdenv.mkDerivation rec {
66 pname = "vimacs";
77- version = vimPackage.version;
77+ version = lib.getVersion vimPackage;
88 vimPackage = if useMacvim then macvim else vim_configurable;
991010 buildInputs = [ vimPackage vimPlugins.vimacs ];
···22# Do not edit!
3344{
55- version = "2021.8.5";
55+ version = "2021.8.6";
66 components = {
77 "abode" = ps: with ps; [ abodepy ];
88 "accuweather" = ps: with ps; [ accuweather ];
+2-19
pkgs/servers/home-assistant/default.nix
···6262 (mkOverride "pylast" "4.2.0"
6363 "0zd0dn2l738ndz62vpa751z0ldnm91dcz9zzbvxv53r08l0s9yf3")
64646565- # Pinned due to API changes in pyopenuv>=1.1.0
6666- (self: super: {
6767- pyopenuv = super.pyopenuv.overridePythonAttrs (oldAttrs: rec {
6868- version = "1.0.13";
6969- src = fetchFromGitHub {
7070- owner = "bachya";
7171- repo = "pyopenuv";
7272- rev = version;
7373- sha256 = "1gx9xjkyvqqy8410lnbshq1j5y4cb0cdc4m505g17rwdzdwb01y8";
7474- };
7575- postPatch = ''
7676- substituteInPlace pyproject.toml \
7777- --replace "poetry.masonry.api" "poetry.core.masonry.api"
7878- '';
7979- });
8080- })
8181-8265 # Pinned due to API changes in pyruckus>0.12
8366 (self: super: {
8467 pyruckus = super.pyruckus.overridePythonAttrs (oldAttrs: rec {
···138121 extraBuildInputs = extraPackages py.pkgs;
139122140123 # Don't forget to run parse-requirements.py after updating
141141- hassVersion = "2021.8.5";
124124+ hassVersion = "2021.8.6";
142125143126in with py.pkgs; buildPythonApplication rec {
144127 pname = "homeassistant";
···155138 owner = "home-assistant";
156139 repo = "core";
157140 rev = version;
158158- sha256 = "0alyr87vm0szljw1lgdsv7085rl0m9r16nwdprwskhcjlwllk1bh";
141141+ sha256 = "1hahxvvlk32dbmv2lhn67w1ii5g24znvjqgsq318qv8c2qh5z5ws";
159142 };
160143161144 # leave this in, so users don't have to constantly update their downstream patch handling
+9-1
pkgs/servers/web-apps/cryptpad/default.nix
···7575 chmod +x $out/bin/cryptpad
7676 '';
77777878- meta.maintainers = with lib.maintainers; [ davhau ];
7878+ meta = {
7979+ longDescription = ''
8080+ CryptPad is a collaboration suite that is end-to-end-encrypted and open-source.
8181+ It is built to enable collaboration, synchronizing changes to documents in real time.
8282+ Because all data is encrypted, the service and its administrators have no way of seeing the content being edited and stored.
8383+ '';
8484+ maintainers = with lib.maintainers; [ davhau ];
8585+ mainProgram = "cryptpad";
8686+ };
79878088 };
8189in