about summary refs log tree commit diff
path: root/nixos/modules
diff options
context:
space:
mode:
authornocent <nocent@protonmail.ch>2017-11-02 21:57:25 +0000
committernocent <nocent@protonmail.ch>2017-11-02 21:57:25 +0000
commitaf13b05dda7a598c51a81a81b92c36d27e599889 (patch)
tree459e0f7d860ac9b62cb501275031cd9733d16ce2 /nixos/modules
parent68b5ec06b90406e81a2ff059f02fc25bf63b82af (diff)
downloadnixlib-af13b05dda7a598c51a81a81b92c36d27e599889.tar
nixlib-af13b05dda7a598c51a81a81b92c36d27e599889.tar.gz
nixlib-af13b05dda7a598c51a81a81b92c36d27e599889.tar.bz2
nixlib-af13b05dda7a598c51a81a81b92c36d27e599889.tar.lz
nixlib-af13b05dda7a598c51a81a81b92c36d27e599889.tar.xz
nixlib-af13b05dda7a598c51a81a81b92c36d27e599889.tar.zst
nixlib-af13b05dda7a598c51a81a81b92c36d27e599889.zip
networkmanager: add power saving and mac address randomization options for wifi devices
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/services/networking/networkmanager.nix27
1 files changed, 26 insertions, 1 deletions
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index e03309c87299..6bdae32f72bb 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -32,6 +32,11 @@ let
     ipv6.ip6-privacy=2
     ethernet.cloned-mac-address=${cfg.ethernet.macAddress}
     wifi.cloned-mac-address=${cfg.wifi.macAddress}
+    ${optionalString (cfg.wifi.powersave != null)
+      ''wifi.powersave=${if cfg.wifi.powersave then "3" else "2"}''}
+
+    [device]
+    wifi.scan-rand-mac-address=${if cfg.wifi.scanRandMacAddress then "yes" else "no"}
   '';
 
   /*
@@ -179,7 +184,27 @@ in {
       };
 
       ethernet.macAddress = macAddressOpt;
-      wifi.macAddress = macAddressOpt;
+
+      wifi = {
+        macAddress = macAddressOpt;
+
+        powersave = mkOption {
+          type = types.nullOr types.bool;
+          default = null;
+          description = ''
+            Whether to enable Wi-Fi power saving.
+          '';
+        };
+
+        scanRandMacAddress = mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            Whether to enable MAC address randomization of a Wi-Fi device
+            during scanning.
+          '';
+        };
+      };
 
       useDnsmasq = mkOption {
         type = types.bool;