{
  config,
  lib,
  pkgs,
  flakes,
  modulesPath,
  ...
}:
with lib; {
  imports = [
    flakes.vpsadminos.nixosConfigurations.container
    flakes.home-manager.nixosModules.home-manager
    flakes.impermanence.nixosModule
    ./hardware-configuration.nix
    ./srv
  ];

  local.sys = {
    baseline.enable = true;

    users.fabian = {
      enable = true;
      sshKeyPublicFile = [public_files/pki/fabian.ssh];
    };
  };

  networking = {
    hostName = "vps";
    domain = "posixlycorrect.com";
  };

  services.openssh = {
    settings.PasswordAuthentication = false;
  };

  home-manager = {
    useGlobalPkgs = true;
    useUserPackages = true;

    extraSpecialArgs = {inherit flakes;};

    users.fabian = {
      imports = [
        flakes.impermanence.nixosModules.home-manager.impermanence
        "${flakes.self}/home/platforms/fabian@vps"
        "${flakes.self}/home"
      ];
    };
  };

  systemd.extraConfig = ''
    DefaultTimeoutStartSec=900s
  '';

  time.timeZone = "Europe/Amsterdam";
}