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;
 | |
| }
 | 
