Fix Wi-Fi flakes

This commit is contained in:
Geoffrey Frogeye 2024-01-06 19:10:47 +01:00
parent e013bcfdba
commit 6d98d85642
Signed by: geoffrey
GPG key ID: C72403E7F82E6AD8
11 changed files with 25 additions and 19 deletions

View file

@ -8,7 +8,6 @@
./desktop.nix
./gaming
./geoffrey.nix
# ./wireless.nix
# FIXME networks.json is git-ignored, so flakes will not use it
./wireless.nix
];
}

View file

@ -3,7 +3,6 @@
# wireless support via wpa_supplicant
networking.wireless = {
enable = true;
networks = builtins.fromJSON (builtins.readFile ./wireless/networks.json); # If this file doesn't exist, run ./wireless/import.py
extraConfig = ''
country=NL
'';

View file

@ -1,2 +1,2 @@
networks.json
networks.env
wireless_networks.json
wireless_networks.env

View file

@ -11,6 +11,7 @@ Exports Wi-Fi networks configuration stored in pass into a format readable by Ni
# url = "https://letsencrypt.org/certs/isrgrootx1.pem";
# sha256 = "sha256:1la36n2f31j9s03v847ig6ny9lr875q3g7smnq33dcsmf2i5gd92";
# }
# TODO Very ugly, can probably do better
import hashlib
import json
@ -157,10 +158,14 @@ for path in list_networks():
for suffix in suffixes:
networks[ssid + suffix] = network
with open("networks.json", "w") as fd:
with open("wireless_networks.json", "w") as fd:
json.dump(networks, fd, indent=4)
with open("networks.env", "w") as fd:
with open("wireless_networks.env", "w") as fd:
if SEPARATE_PASSWORDS:
for k, v in Password.vars().items():
print(f"{k}={v}", file=fd)
print("Now, execute:")
print("sudo mv -f wireless_networks.* /etc/keys")
print("sudo nixos-rebuild switch")