summary refs log tree commit diff
path: root/pkgs/lib
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/lib')
-rw-r--r--pkgs/lib/licenses.nix2
-rw-r--r--pkgs/lib/options.nix8
2 files changed, 10 insertions, 0 deletions
diff --git a/pkgs/lib/licenses.nix b/pkgs/lib/licenses.nix
index 385993a320e4..89edcd738f4d 100644
--- a/pkgs/lib/licenses.nix
+++ b/pkgs/lib/licenses.nix
@@ -199,6 +199,8 @@
 
   unfreeRedistributable = "unfree-redistributable";
 
+  unfreeRedistributableFirmware = "unfree-redistributable-firmware";
+
   zlib = {
     shortName = "zlib";
     fullName = "zlib license";
diff --git a/pkgs/lib/options.nix b/pkgs/lib/options.nix
index 4e9390470709..3a8cc0006ef1 100644
--- a/pkgs/lib/options.nix
+++ b/pkgs/lib/options.nix
@@ -165,6 +165,14 @@ rec {
         // optionalAttrs (opt1 ? extraConfigs || opt2 ? extraConfigs) {
             extraConfigs = opt1.extraConfigs or [] ++ opt2.extraConfigs or [];
           }
+        // optionalAttrs (opt1 ? extraArgs || opt2 ? extraArgs) {
+            extraArgs = opt1.extraArgs or {} // opt2.extraArgs or {};
+          }
+        // optionalAttrs (opt1 ? individualExtraArgs || opt2 ? individualExtraArgs) {
+            individualExtraArgs = zipAttrsWith (name: values:
+              if length values == 1 then head values else (head values // (head (tail values)))
+            ) [ (opt1.individualExtraArgs or {}) (opt2.individualExtraArgs or {}) ];
+          }
       )) {} opts;