diff options
author | Guillaume Girol <symphorien@users.noreply.github.com> | 2021-07-27 16:43:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-27 16:43:57 +0000 |
commit | 407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17 (patch) | |
tree | ff2e3f3780794192fe111ef8d236d262fcd783b3 | |
parent | 9b3caf1d0c1ab3c717b5d374cd21c652d274f90b (diff) | |
parent | 8fe0143d88e87e529c3d143ae2fb589ce651dcb6 (diff) | |
download | nixlib-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.tar nixlib-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.tar.gz nixlib-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.tar.bz2 nixlib-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.tar.lz nixlib-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.tar.xz nixlib-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.tar.zst nixlib-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.zip |
Merge pull request #121530 from symphorien/wifireg
nixos: add option to load wireless regulatory database as firmware
-rw-r--r-- | nixos/modules/hardware/all-firmware.nix | 12 | ||||
-rw-r--r-- | nixos/modules/services/networking/networkmanager.nix | 3 | ||||
-rw-r--r-- | nixos/modules/services/networking/wpa_supplicant.nix | 3 |
3 files changed, 16 insertions, 2 deletions
diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix index 3e88a4c20adc..524dae57010b 100644 --- a/nixos/modules/hardware/all-firmware.nix +++ b/nixos/modules/hardware/all-firmware.nix @@ -35,6 +35,14 @@ in { ''; }; + hardware.wirelessRegulatoryDatabase = mkOption { + default = false; + type = types.bool; + description = '' + Load the wireless regulatory database at boot. + ''; + }; + }; @@ -58,6 +66,7 @@ in { ++ optionals (versionOlder config.boot.kernelPackages.kernel.version "4.13") [ rtl8723bs-firmware ]; + hardware.wirelessRegulatoryDatabase = true; }) (mkIf cfg.enableAllFirmware { assertions = [{ @@ -75,5 +84,8 @@ in { b43FirmwareCutter ] ++ optional (pkgs.stdenv.hostPlatform.isi686 || pkgs.stdenv.hostPlatform.isx86_64) facetimehd-firmware; }) + (mkIf cfg.wirelessRegulatoryDatabase { + hardware.firmware = [ pkgs.wireless-regdb ]; + }) ]; } diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index 064018057cdb..790de4ace012 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -6,7 +6,6 @@ let cfg = config.networking.networkmanager; basePackages = with pkgs; [ - crda modemmanager networkmanager networkmanager-fortisslvpn @@ -404,6 +403,8 @@ in { } ]; + hardware.wirelessRegulatoryDatabase = true; + environment.etc = with pkgs; { "NetworkManager/NetworkManager.conf".source = configFile; diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix index c0a4ce40760a..494d21cc8678 100644 --- a/nixos/modules/services/networking/wpa_supplicant.nix +++ b/nixos/modules/services/networking/wpa_supplicant.nix @@ -241,7 +241,8 @@ in { environment.systemPackages = [ package ]; services.dbus.packages = [ package ]; - services.udev.packages = [ pkgs.crda ]; + + hardware.wirelessRegulatoryDatabase = true; # FIXME: start a separate wpa_supplicant instance per interface. systemd.services.wpa_supplicant = let |