{ ... }:
{
  boot.loader.grub = {
    enable = true;
    device = "/dev/vda";
  };

  networking = {
    hostName = "mastodon";
    firewall = {
      enable = true;
      allowedTCPPorts = [ 80 8443 ];
    };
  };

  fileSystems = {
    "/mnt/data" = {
      device = "/dev/disk/by-label/data";
      fsType = "ext4";
      autoResize = true;
    };
    "/var/lib/mastodon/public-system" = {
      depends = [ "/mnt/data" ];
      device = "/mnt/data/mastodon";
      fsType = "none";
      options = [ "bind" ];
    };
    "/var/lib/postgresql" = {
      depends = [ "/mnt/data" ];
      device = "/mnt/data/postgresql";
      fsType = "none";
      options = [ "bind" ];
    };
    "/var/lib/private/opensearch/data" = {
      depends = [ "/mnt/data" ];
      device = "/mnt/data/opensearch";
      fsType = "none";
      options = [ "bind" ];
    };
  };

  system.stateVersion = "23.05";
}