35 lines
951 B
Nix
35 lines
951 B
Nix
{ pkgs, ... }:
|
|
|
|
|
|
{
|
|
machine = { config, pkgs, ... }:
|
|
let
|
|
configfile = builtins.storePath (builtins.toFile "config" (pkgs.lib.concatStringsSep "\n"
|
|
(map (builtins.getAttr "configLine") config.system.requiredKernelConfig)));
|
|
|
|
kernel = pkgs.lib.overrideDerivation (pkgs.linuxManualConfig {
|
|
inherit (pkgs.linux) src version;
|
|
inherit configfile;
|
|
allowImportFromDerivation = true;
|
|
}) (attrs: {
|
|
configurePhase = ''
|
|
runHook preConfigure
|
|
mkdir ../build
|
|
make $makeFlags "''${makeFlagsArray[@]}" mrproper
|
|
make $makeFlags "''${makeFlagsArray[@]}" KCONFIG_ALLCONFIG=${configfile} allnoconfig
|
|
runHook postConfigure
|
|
'';
|
|
});
|
|
|
|
kernelPackages = pkgs.linuxPackagesFor kernel kernelPackages;
|
|
in {
|
|
boot.kernelPackages = kernelPackages;
|
|
};
|
|
|
|
testScript =
|
|
''
|
|
startAll;
|
|
$machine->shutdown;
|
|
'';
|
|
}
|