diff --git a/modules/hardware/network/b43.nix b/modules/hardware/network/b43.nix new file mode 100644 index 00000000000..077e0a1e11e --- /dev/null +++ b/modules/hardware/network/b43.nix @@ -0,0 +1,30 @@ +{pkgs, config, ...}: + +let kernelVersion = config.boot.kernelPackages.kernel.version; in + +{ + + ###### interface + + options = { + + networking.enableB43Firmware = pkgs.lib.mkOption { + default = false; + type = pkgs.lib.types.bool; + description = '' + Turn on this option if you want firmware for the NICs supported by the b43 module. + ''; + }; + + }; + + + ###### implementation + + config = pkgs.lib.mkIf config.networking.enableB43Firmware { + hardware.firmware = if builtins.lessThan (builtins.compareVersions kernelVersion "3.2") 0 then + throw "b43 firmware for kernels older than 3.2 not packaged yet!" else + [ pkgs.b43Firmware_5_1_138 ]; + }; + +} diff --git a/modules/module-list.nix b/modules/module-list.nix index dfc91a765be..1e5ec300df5 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -15,6 +15,7 @@ ./config/unix-odbc-drivers.nix ./config/users-groups.nix ./hardware/cpu/intel-microcode.nix + ./hardware/network/b43.nix ./hardware/network/intel-2100bg.nix ./hardware/network/intel-2200bg.nix ./hardware/network/intel-3945abg.nix