29 lines
		
	
	
		
			837 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			837 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ config, pkgs, lib, ... }:
 | 
						|
 | 
						|
let
 | 
						|
  configfile = builtins.storePath (builtins.toFile "config" (lib.concatStringsSep "\n"
 | 
						|
    (map (builtins.getAttr "configLine") config.system.requiredKernelConfig))
 | 
						|
  );
 | 
						|
 | 
						|
  origKernel = pkgs.buildLinux {
 | 
						|
    inherit (pkgs.linux) src version stdenv;
 | 
						|
    inherit configfile;
 | 
						|
    allowImportFromDerivation = true;
 | 
						|
    kernelPatches = [ pkgs.kernelPatches.cifs_timeout_2_6_38 ];
 | 
						|
  };
 | 
						|
 | 
						|
  kernel = origKernel // (derivation (origKernel.drvAttrs // {
 | 
						|
    configurePhase = ''
 | 
						|
      runHook preConfigure
 | 
						|
      mkdir ../build
 | 
						|
      make $makeFlags "''${makeFlagsArray[@]}" mrproper
 | 
						|
      make $makeFlags "''${makeFlagsArray[@]}" KCONFIG_ALLCONFIG=${configfile} allnoconfig
 | 
						|
      runHook postConfigure
 | 
						|
    '';
 | 
						|
  }));
 | 
						|
 | 
						|
   kernelPackages = pkgs.linuxPackagesFor kernel;
 | 
						|
in {
 | 
						|
  boot.kernelPackages = kernelPackages;
 | 
						|
}
 |