1
Fork 0
satellite/hosts/nixos/common/global/wireless/default.nix

52 lines
1.5 KiB
Nix
Raw Normal View History

2023-01-10 02:38:06 +01:00
{ config, lib, ... }: {
# Wireless secrets stored through agenix
age.secrets.wireless.file = ./wifi_passwords.age;
2023-01-10 02:38:06 +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 = {
"Neptune".psk = "@PHONE_HOTSPOT_PASS@";
"Familia-Matei".psk = "@TG_HOME_PASS@";
2023-01-15 21:37:30 +01:00
"Sailhorse".psk = "@NL_SAILHORSE_PASS@";
"FOSDEM-Dualstack" = { };
# [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-06-09 13:17:34 +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"
];
2023-01-10 02:38:06 +01:00
}