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