How to provide missing headers to a kernel build?

I have abandoned my attempt to build a custom kernel, and instead tried to use a similar kernel config to the one used by Armbian, and by comparing I found a few settings that were baked in instead of included as modules. By using this config and recompiling the kernel I managed to fix the NVMe detection problem:

{
  boot.kernelPackages = pkgs.linuxPackages_5_10;
  boot.kernelPatches = [{
    name = "pcie-rockchip-config.patch";
    patch = null;
    extraConfig = ''
      LOCALVERSION_AUTO n
      COMPILE_TEST y
      NVME_CORE y
      BLK_DEV_NVME y
      NVME_MULTIPATH y
      PCIE_ROCKCHIP y
      PCIE_ROCKCHIP_HOST y
      PCIE_ROCKCHIP_EP y
      ROCKCHIP_THERMAL y
      ROCKCHIP_LVDS y
      ROCKCHIP_MBOX y
      DEVFREQ_EVENT_ROCKCHIP_DFI y
      ROCKCHIP_SARADC y
      PHY_ROCKCHIP_DP y
      PHY_ROCKCHIP_INNO_HDMI y
      PHY_ROCKCHIP_INNO_USB3 y
      PHY_ROCKCHIP_PCIE y
      PHY_ROCKCHIP_USB y
    '';
  }];
}