2023-07-17 16:50:07 +02:00
|
|
|
{ config, ... }: {
|
2023-01-10 02:38:06 +01:00
|
|
|
# Wireless secrets stored through agenix
|
2023-01-10 16:05:48 +01:00
|
|
|
age.secrets.wireless.file = ./wifi_passwords.age;
|
2023-01-10 02:38:06 +01:00
|
|
|
|
2023-02-28 13:11:37 +01:00
|
|
|
# https://github.com/NixOS/nixpkgs/blob/nixos-22.11/nixos/modules/services/networking/wpa_supplicant.nix
|
2023-01-10 02:38:06 +01:00
|
|
|
networking.wireless = {
|
|
|
|
enable = true;
|
|
|
|
fallbackToWPA2 = false;
|
|
|
|
|
|
|
|
# Declarative
|
|
|
|
environmentFile = config.age.secrets.wireless.path;
|
|
|
|
networks = {
|
2023-07-17 16:50:07 +02:00
|
|
|
"Neptune".psk = "@ENCELADUS_HOTSPOT_PASS@";
|
2023-02-28 13:11:37 +01:00
|
|
|
|
2023-07-21 18:30:48 +02:00
|
|
|
"Familia-Matei-PRO".psk = "@TG_HOTSPOT_HOME_PASS@";
|
|
|
|
"Familia-Matei".psk = "@TG_HOTSPOT_HOME_PASS@";
|
|
|
|
|
|
|
|
"R15-5365 5g".psk = "@TG_WIFI_HOME_PASS@";
|
|
|
|
"R15-5365".psk = "@TG_WIFI_HOME_PASS@";
|
|
|
|
|
|
|
|
"Sailhorse".psk = "@NL_PLACE_0_PASS@";
|
2023-09-12 00:16:00 +02:00
|
|
|
"Ziggo1721699".psk = "@NL_PLACE_1_PASS@";
|
2023-09-18 02:15:13 +02:00
|
|
|
"Konijntjes".psk = "@NL_PLACE_1_PODS_PASS@";
|
2023-07-30 01:22:25 +02:00
|
|
|
"InfoEdu12".psk = "@INFOEDU_PASS@";
|
2023-08-28 17:18:26 +02:00
|
|
|
"ZTE_F7A321".psk = "@MADALINA_PASS@";
|
2023-02-28 13:11:37 +01:00
|
|
|
|
|
|
|
# [Working solution](https://bbs.archlinux.org/viewtopic.php?id=271336)
|
|
|
|
# [Other interesting link](https://help.itc.rwth-aachen.de/en/service/b3d9a2c8ae5345b8b8f5128143ef4e3c/article/eaf6d69389a74a5a839c1f383c508df7/)
|
|
|
|
# [Uni link](https://lwpwiki.webhosting.rug.nl/index.php/Configure_your_wifi_for_Eduroam)
|
|
|
|
"eduroam" = {
|
|
|
|
authProtocols = [ "WPA-EAP" ];
|
|
|
|
auth = ''
|
|
|
|
eap=PEAP
|
|
|
|
identity="s5260329@rug.nl"
|
|
|
|
password="@EDUROAM_PASS@"
|
|
|
|
'';
|
|
|
|
extraConfig = ''
|
|
|
|
phase2="auth=MSCHAPV2"
|
|
|
|
'';
|
|
|
|
};
|
2023-01-10 02:38:06 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
# Imperative
|
2023-07-06 21:34:24 +02:00
|
|
|
allowAuxiliaryImperativeNetworks = true;
|
|
|
|
userControlled = {
|
|
|
|
enable = true;
|
|
|
|
group = "network";
|
|
|
|
};
|
2023-01-10 02:38:06 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
# Ensure group exists
|
|
|
|
users.groups.network = { };
|
|
|
|
|
|
|
|
# Persist imperative config
|
2023-06-09 13:17:34 +02:00
|
|
|
environment.persistence."/persist/state".files = [
|
|
|
|
# TODO: investigate why this doesn't work
|
|
|
|
# "/etc/wpa_supplicant.conf"
|
|
|
|
];
|
2024-01-18 07:44:16 +01:00
|
|
|
|
|
|
|
|
|
|
|
# The service seems to fail if this file does not exist
|
|
|
|
systemd.tmpfiles.rules = [ "f /etc/wpa_supplicant.conf" ];
|
2023-01-10 02:38:06 +01:00
|
|
|
}
|