{
  config,
  lib,
  pkgs,
  modulesPath,
  ...
}:
{
  imports = [
    (modulesPath + "/profiles/image-based-appliance.nix")
    (modulesPath + "/profiles/perlless.nix")
    (modulesPath + "/profiles/qemu-guest.nix")
  ];

  # system.forbiddenDependenciesRegexes = lib.mkForce [ ];

  nixpkgs.flake.setNixPath = false;
  nixpkgs.flake.setFlakeRegistry = false;
  boot.enableContainers = false;

  boot.kernelModules = [
    "zram"
    "usb_storage"
    "uas"
    "sd_mod"
    "r8169"
    "ehci-hcd"
    "ehci-pci"
    "xhci-hcd"
    "xhci-pci"
    "xhci-pci-renesas"
    "nvme"
    "virtio_net"
    "9p"
    "9pnet_virtio"
  ];

  system.etc.overlay.mutable = lib.mkDefault false;

  systemd.watchdog = lib.mkDefault {
    runtimeTime = "10s";
    rebootTime = "30s";
  };

  zramSwap.enable = true;

  # FIXME: fstrim should only be enabled for virtual machine images?
  services.fstrim.enable = true;

  users.allowNoPasswordLogin = true;
  users.users.root.home = lib.mkForce "/";

  security.sudo.enable = lib.mkDefault false;

  security.polkit = {
    enable = true;
    extraConfig = ''
      polkit.addRule(function(action, subject) {
        if (subject.isInGroup("wheel")) {
          return polkit.Result.YES;
        }
      });
    '';
  };

  i18n.supportedLocales = [ "en_US.UTF-8/UTF-8" ];

  # Console

  systemd.enableEmergencyMode = false;
  boot.consoleLogLevel = lib.mkDefault 1;
  boot.kernelParams = [
    "panic=1"
    "boot.panic_on_fail"
    # "nomodeset"
    "console=ttyS0,115200n8"
    "earlyprintk=ttyS0,115200n8"
    "systemd.mask=systemd-vconsole-setup.service"  # FIXME: Figure out why vconsole-setup fails when loading keymap
  ];

  # This is vi country
  programs.nano.enable = false;
  programs.vim.enable = true;
  programs.vim.defaultEditor = lib.mkDefault true;

  # Temporary file
  boot.tmp.useTmpfs = true;

  # Logging
  services.journald = {
    storage = "volatile";
    extraConfig = ''
      SystemMaxUse=10M
    '';
  };

}