about summary refs log tree commit diff
path: root/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/kernel/generic.nix')
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/generic.nix11
1 files changed, 6 insertions, 5 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix b/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix
index 8ff8dcff0b38..14c863b459b1 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix
@@ -212,7 +212,10 @@ let
     config = { CONFIG_MODULES = "y"; CONFIG_FW_LOADER = "m"; } // lib.optionalAttrs withRust { CONFIG_RUST = "y"; };
   } // lib.optionalAttrs (modDirVersion != null) { inherit modDirVersion; });
 
-  passthru = basicArgs // {
+in
+kernel.overrideAttrs (finalAttrs: previousAttrs: {
+
+  passthru = previousAttrs.passthru or { } // basicArgs // {
     features = kernelFeatures;
     inherit commonStructuredConfig structuredExtraConfig extraMakeFlags isZen isHardened isLibre;
     isXen = lib.warn "The isXen attribute is deprecated. All Nixpkgs kernels that support it now have Xen enabled." true;
@@ -225,9 +228,8 @@ let
       ]);
     });
 
-    passthru = kernel.passthru // (removeAttrs passthru [ "passthru" ]);
     tests = let
-      overridableKernel = finalKernel // {
+      overridableKernel = finalAttrs.finalPackage // {
         override = args:
           lib.warn (
             "override is stubbed for NixOS kernel tests, not applying changes these arguments: "
@@ -237,5 +239,4 @@ let
     in [ (nixosTests.kernel-generic.passthru.testsForKernel overridableKernel) ] ++ kernelTests;
   };
 
-  finalKernel = lib.extendDerivation true passthru kernel;
-in finalKernel
+})