diff --git a/clanModules/iwd/roles/default.nix b/clanModules/iwd/roles/default.nix index aa2c3ed1a..c78a2a59c 100644 --- a/clanModules/iwd/roles/default.nix +++ b/clanModules/iwd/roles/default.nix @@ -1,4 +1,9 @@ -{ lib, config, ... }: +{ + lib, + config, + pkgs, + ... +}: let cfg = config.clan.iwd; @@ -12,12 +17,13 @@ let { secret.${secret_name} = { }; generator.prompt = "Wifi password for '${value.ssid}'"; + # ref. man iwd.network generator.script = '' config=" [Settings] AutoConnect=${if value.AutoConnect then "true" else "false"} [Security] - Passphrase=\"$prompt_value\" + Passphrase=$(echo -e "$prompt_value" | ${lib.getExe pkgs.gnused} "s=\\\=\\\\\\\=g;s=\t=\\\t=g;s=\r=\\\r=g;s=^ =\\\s=") " echo "$config" > "$secrets/${secret_name}" '';