diff options
Diffstat (limited to 'pkgs/os-specific/linux/kernel/generic.nix')
-rw-r--r-- | pkgs/os-specific/linux/kernel/generic.nix | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 379d3cad970..3912d9d10f5 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -36,6 +36,22 @@ let lib = stdenv.lib; + # Combine the `features' attribute sets of all the kernel patches. + kernelFeatures = lib.fold (x: y: (x.features or {}) // y) ({ + iwlwifi = true; + efiBootStub = true; + needsCifsUtils = true; + netfilterRPFilter = true; + } // features) kernelPatches; + + configWithPlatform = kernelPlatform: import ./common-config.nix { + inherit stdenv version kernelPlatform extraConfig; + features = kernelFeatures; # Ensure we know of all extra patches, etc. + }; + + config = configWithPlatform stdenv.platform; + configCross = configWithPlatform hostPlatform.platform; + kernelConfigFun = baseConfig: let configFromPatches = @@ -115,23 +131,17 @@ let }; passthru = { - # Combine the `features' attribute sets of all the kernel patches. - features = lib.fold (x: y: (x.features or {}) // y) features kernelPatches; + features = kernelFeatures; meta = kernel.meta // extraMeta; passthru = kernel.passthru // (removeAttrs passthru [ "passthru" "meta" ]); }; - configWithPlatform = kernelPlatform: import ./common-config.nix - { inherit stdenv version kernelPlatform extraConfig; - features = passthru.features; # Ensure we know of all extra patches, etc. - }; - - config = configWithPlatform stdenv.platform; - configCross = configWithPlatform hostPlatform.platform; - nativeDrv = lib.addPassthru kernel.nativeDrv passthru; crossDrv = lib.addPassthru kernel.crossDrv passthru; -in if kernel ? crossDrv then nativeDrv // { inherit nativeDrv crossDrv; } else lib.addPassthru kernel passthru + +in if kernel ? crossDrv + then nativeDrv // { inherit nativeDrv crossDrv; } + else lib.addPassthru kernel passthru |