{ mkDerivation, linux_6_1, bc, bison, elfutils, flex, perl, pigeon-kernel-params ? [ "64BIT" "TTY" "SERIAL_8250" "SERIAL_8250_CONSOLE" "PRINTK" "HYPERVISOR_GUEST" "PARAVIRT" "KVM_GUEST" "BLOCK" "VIRTIO_MENU" "VIRTIO" "VIRTIO_PCI" "VIRTIO_MMIO" "VIRTIO_BLK" "EXT4_FS" "SHMEM" "TMPFS" "PROC_FS" "PROC_SYSCTL" "SYSFS" "DEVTMPFS" "ACPI" "PCI" "PCI_MSI" "MAGIC_SYSRQ" "BINFMT_ELF" "BINFMT_SCRIPT" "MULTIUSER" "FUTEX" "EPOLL" "EVENTFD" "SIGNALFD" "TIMERFD" "POSIX_TIMERS" "FILE_LOCKING" "ADVISE_SYSCALLS" "NET" "UNIX" ] }: mkDerivation { inherit (linux_6_1) src version; pname = "pigeon-kernel"; nativeBuildInputs = [ bc bison elfutils flex perl ]; hardeningDisable = [ "all" ]; enableParallelBuilding = true; configurePhase = '' runHook preConfigure patchShebangs scripts tools make tinyconfig for OPTION in ${toString pigeon-kernel-params}; do scripts/config --enable $OPTION done make olddefconfig for OPTION in ${toString pigeon-kernel-params}; do grep -qx "CONFIG_$OPTION=y" .config || exit 1 done runHook postConfigure ''; buildFlags = [ "vmlinux" ]; installPhase = '' runHook preInstall cp vmlinux "$out" runHook postInstall ''; }