nixos/firmware: remove restrictive hardware.enableAllFirmware assertion
Remove the too restrictive hardware.enableAllFirmware assertion
introduced in commit 05aa80c06a ("hardware: add
enableRedistributalFirmware").
This assertion is too restrictive because it enforces globally enabling
unfree packages without allowing explicit whitelisting:
hardware.enableAllFirmware = true;
-nixpkgs.config.allowUnfree = true;
+nixpkgs.config.allowUnfreePredicate = pkg:
+ builtins.elem (lib.getName pkg) [
+ "b43-firmware"
+ "broadcom-bt-firmware"
+ "facetimehd-calibration"
+ "facetimehd-firmware"
+ "xow_dongle-firmware"
+ ];
Declaring neither nixpkgs.config.allowUnfree nor
nixpkgs.config.allowUnfreePredicate without this
hardware.enableAllFirmware assertion results in detailed and instructive
evaluation error messages.
This commit is contained in:
@@ -85,16 +85,6 @@ in
|
||||
++ lib.optional pkgs.stdenv.hostPlatform.isAarch raspberrypiWirelessFirmware;
|
||||
})
|
||||
(lib.mkIf cfg.enableAllFirmware {
|
||||
assertions = [
|
||||
{
|
||||
assertion = cfg.enableAllFirmware -> pkgs.config.allowUnfree;
|
||||
message = ''
|
||||
the list of hardware.enableAllFirmware contains non-redistributable licensed firmware files.
|
||||
This requires nixpkgs.config.allowUnfree to be true.
|
||||
An alternative is to use the hardware.enableRedistributableFirmware option.
|
||||
'';
|
||||
}
|
||||
];
|
||||
hardware.firmware =
|
||||
with pkgs;
|
||||
[
|
||||
|
||||
Reference in New Issue
Block a user