{ name, lib, ... }: {
  imports = [ <nixpkgs/nixos/modules/virtualisation/amazon-image.nix> ];

  # amazon-image.nix isn't quite aware of nvme-attached storage so give it a
  # little help configuring grub.
  boot.loader.grub.device = lib.mkForce "/dev/nvme0n1";

  ec2.hvm = true;
  boot.kernel.sysctl = { "vm.swappiness" = 0; };
  swapDevices = [ {
    device = "/var/swapfile";
    size = 8192; # megabytes
    randomEncryption = true;
  } ];

  # Break the tie between AWS and morph for the hostname by forcing the
  # morph-supplied name.  See also
  # <https://github.com/DBCDK/morph/issues/146>.
  networking.hostName = name;

  # Clean up packages after a while
  nix.gc = {
    automatic = true;
    dates = "weekly";
  };
}