aboutsummaryrefslogtreecommitdiffstats
path: root/hosts/common/optional
diff options
context:
space:
mode:
Diffstat (limited to 'hosts/common/optional')
-rw-r--r--hosts/common/optional/wireless.nix35
1 files changed, 35 insertions, 0 deletions
diff --git a/hosts/common/optional/wireless.nix b/hosts/common/optional/wireless.nix
new file mode 100644
index 0000000..ce66419
--- /dev/null
+++ b/hosts/common/optional/wireless.nix
@@ -0,0 +1,35 @@
+{config, ...}: {
+ # Wireless secrets stored through sops
+ sops.secrets.wireless = {
+ sopsFile = ../secrets.yaml;
+ neededForUsers = true;
+ };
+
+ networking.wireless = {
+ enable = true;
+ fallbackToWPA2 = false;
+
+ # Declarative
+ secretsFile = config.sops.secrets.wireless.path;
+ networks = {
+ "Black Vulture" = {
+ pskRaw = "ext:home_psk";
+ };
+ };
+
+ # Imperative
+ allowAuxiliaryImperativeNetworks = true;
+ userControlled = {
+ enable = true;
+ group = "network";
+ };
+ extraConfig = ''
+ update_config=1
+ '';
+ };
+
+ # Ensure group exists
+ users.groups.network = {};
+
+ systemd.services.wpa_supplicant.preStart = "touch /etc/wpa_supplicant.conf";
+}