diff --git a/system/options.nix b/system/options.nix index dffa513008ae..cb8359d41abf 100644 --- a/system/options.nix +++ b/system/options.nix @@ -964,6 +964,16 @@ "; } + { + name = ["services" "udev" "addFirmware"]; + default = []; + example = ["/mnt/big-storage/firmware/"]; + description = " + To specify firmware that is not too spread to ensure + a package, or have an interactive process of extraction + and cannot be redistributed. +"; + } { name = ["installer" "nixpkgsURL"]; diff --git a/upstart-jobs/default.nix b/upstart-jobs/default.nix index f602081262a5..3f66f7e137e7 100644 --- a/upstart-jobs/default.nix +++ b/upstart-jobs/default.nix @@ -30,7 +30,9 @@ import ../upstart-jobs/gather.nix { inherit (pkgs) stdenv writeText substituteAll udev procps; inherit (pkgs.lib) cleanSource; firmwareDirs = - pkgs.lib.optional (config.get ["networking" "enableIntel2200BGFirmware"]) pkgs.ipw2200fw; + pkgs.lib.optional (config.get ["networking" "enableIntel2200BGFirmware"]) pkgs.ipw2200fw + ++ + (config.get ["services" "udev" "addFirmware"]); extraUdevPkgs = pkgs.lib.optional (config.get ["services" "hal" "enable"]) pkgs.hal; })