diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index a2f80505cd95d0b..58b7b96fbf21c81 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/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 +})