A Nix flake for reproducible Linux kernels and initramfs archives.
Motivated by jordanisaacs and chrisdone.
nix develop .#
# Run VM
runvm
# Exit with CTRL + A X
Kernel:
nix build .#kernel
initramfs:
nix build .#initramfs
{
inputs.kernelFlake.url = "github:raylas/onesie-flake";
outputs = {
self,
nixpkgs,
kernelFlake
}: let
system = "x86_64-system";
pkgs = nixpkgs.legacyPackages.${system};
kernelLib = kernelFlake.lib.builders {inherit pkgs;};
configfile = buildLib.buildKernelConfig {
generateConfigFlags = {};
structuredExtraConfig = {};
inherit kernel nixpkgs;
};
kernel = buildLib.buildKernel {
inherit configfile;
src = ./kernel-src;
version = "";
modDirVersion = "";
};
modules = [exampleModule];
initramfs = buildLib.buildInitramfs {
inherit kernel modules;
};
runQemu = buildLib.buildQemuCmd {inherit kernel initramfs;};
in { };
}