{ pkgs }: { url, rev, hash, configGz, }: let kernelSrc = pkgs.fetchgit { inherit url rev hash; fetchSubmodules = false; deepClone = false; leaveDotGit = false; postFetch = '' rm -f $out/.gitmodules ''; }; stdenv = pkgs.stdenv; in stdenv.mkDerivation { pname = "kernel-env-prepared"; version = "0.01"; src = kernelSrc; nativeBuildInputs = with pkgs.buildPackages; [ bc bison flex openssl rsync perl ] ++ [ pkgs.pkgsCross.aarch64-multiplatform.buildPackages.gcc ]; sourceRoot = "."; setSourceRoot = "sourceRoot=$(echo */)"; env = { ARCH = "arm64"; CROSS_COMPILE = "aarch64-unknown-linux-gnu-"; KCFLAGS = "-Wno-error"; HOSTCC = "gcc"; }; postPatch = '' [ -f drivers/Kconfig ] && sed -i '/kernelsu/d' drivers/Kconfig patchShebangs scripts/ ''; configurePhase = '' zcat ${configGz} > .config make olddefconfig ''; buildPhase = '' export KCFLAGS="-Wno-error" make modules_prepare -j$(nproc) ''; installPhase = '' mkdir -p $out cp -r . $out/ ''; dontFixup = true; }