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 /nixos/modules | |
parent | 9b3caf1d0c1ab3c717b5d374cd21c652d274f90b (diff) | |
parent | 8fe0143d88e87e529c3d143ae2fb589ce651dcb6 (diff) | |
download | nixpkgs-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.tar nixpkgs-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.tar.gz nixpkgs-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.tar.bz2 nixpkgs-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.tar.lz nixpkgs-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.tar.xz nixpkgs-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.tar.zst nixpkgs-407ef1dc6f91f9ecf7f61e4dfaedcde052f2bd17.zip |
Merge pull request #121530 from symphorien/wifireg
nixos: add option to load wireless regulatory database as firmware
Diffstat (limited to 'nixos/modules')
-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 3e88a4c20ad..524dae57010 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 064018057cd..790de4ace01 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 c0a4ce40760..494d21cc867 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 |