{ ... }: {
  #TODO[epic=Moderate] Clean this up, move to host's configuration.nix.
  # Native Raspberry Pi boot flow.
  boot.loader.raspberry-pi.bootloader = "kernel";
  boot.loader.grub.enable = false;
  boot.consoleLogLevel = 7;
  boot.kernelModules = [ "nvme" ];

  # Root device for kernel cmdline (NVMe boot).
  boot.kernelParams = [
    "root=PARTUUID=4d44c78a-ee3c-4e3e-9eee-0f2eb10347b6"
    "rootfstype=ext4"
  ];

  console = {
    earlySetup = true;
    font = "ter-v32n";
  };

  # Enable PCIe x1 for CM5 NVMe adapter.
  hardware.raspberry-pi.config.cm5.base-dt-params.pciex1 = {
    enable = true;
    value = "on";
  };

  powerManagement.cpuFreqGovernor = "powersave";

  # Root + firmware as boot-critical mounts.
  fileSystems."/".neededForBoot = true;
  fileSystems."/boot/firmware".neededForBoot = true;

  # Pi generational boot expects boot-firmware.mount to exist.
  systemd.mounts = [
    {
      what = "/dev/disk/by-label/FIRMWARE";
      where = "/boot/firmware";
      type = "vfat";
      options = "noatime,fmask=0022,dmask=0022";
      wantedBy = [ "local-fs.target" ];
      after = [ "local-fs-pre.target" ];
    }
  ];

  # There is no serial console on uConsole CM5 by default.
  systemd.services."serial-getty@ttyS0".enable = false;

  system.stateVersion = "25.11";
}
