{ lib , linuxHeaders # Linux source tree , makeWrapper , stdenvNoCC , binutils , coreutils , gnugrep # decompressors for possible kernel image formats , bzip2 , gzip , lz4 , lzop , xz , zstd }: let commonDeps = [ binutils coreutils gnugrep gzip xz bzip2 lzop lz4 zstd ]; toWrapScriptLines = scriptName: '' install -Dm 0755 scripts/${scriptName} $out/bin/${scriptName} wrapProgram $out/bin/${scriptName} --prefix PATH : ${lib.makeBinPath commonDeps} ''; in stdenvNoCC.mkDerivation { inherit (linuxHeaders) version; pname = "linux-scripts"; # These scripts will rarely change and are usually not bound to a specific # version of Linux. So it is okay to just use whatever Linux version comes # from `linuxHeaders. src = linuxHeaders.src; nativeBuildInputs = [ makeWrapper ]; dontConfigure = true; dontBuild = true; installPhase = '' ${toWrapScriptLines "extract-ikconfig"} ${toWrapScriptLines "extract-vmlinux"} ''; meta = with lib; { description = "Standalone scripts from /scripts"; homepage = "https://www.kernel.org/"; license = licenses.gpl2Only; maintainers = [ maintainers.phip1611 ]; platforms = platforms.all; }; }