{
  config,
  pkgs,
  lib,
  lim,
  ...
}:
let
  inherit (pkgs.pseudofile) dir;
  dts =
    pkgs.runCommand "qemu.dts"
      {
        nativeBuildInputs = with pkgs.pkgsBuildBuild; [
          dtc
          qemu
        ];
      }
      ''
        qemu-system-${pkgs.stdenv.hostPlatform.qemuArch} \
          -machine virt -machine dumpdtb=tmp.dtb
        dtc -I dtb -O dts -o $out tmp.dtb
        # https://stackoverflow.com/a/69890137,
        # XXX try fdtput $out -p -t s /pl061@9030000 status disabled
        # instead of using sed
        sed -i $out -e 's/compatible = "arm,pl061.*/status = "disabled";/g'
      '';
in
{
  imports = [
    ../../modules/outputs/ext4fs.nix
    ../../modules/outputs/tftpboot.nix
  ];

  config = {
    hostname = "tftpboot-test";
    # use extracted dts if it was null in the device
    # definition, use actual dts if provided
    hardware.dts.src = lib.mkOverride 500 dts;
    boot.tftp = {
      loadAddress =
        let
          offsets = {
            mips = "0x88000000";
            arm = "0x44000000";
            aarch64 = "0x44000000";
          };
        in
        lim.parseInt offsets.${pkgs.stdenv.hostPlatform.qemuArch};
      serverip = "10.0.2.2";
      ipaddr = "10.0.2.15";
    };
    boot.imageFormat = "fit";
    rootfsType = "ext4";
    filesystem = dir {
      hello = {
        type = "f";
        uid = 7;
        gid = 24;
        file = "hello world";
      };
    };
  };
}