{
  tree,
  lib,
  ...
}: let
  inherit (lib.lists) forEach;
in {
  imports = with tree;
    [
      presets.nixos.serverBase
      presets.nixos.serverHetzner
      presets.nixos.serverEncryptedDrive

      profiles.nginx
      profiles.firewallAllow.httpCommon

      profiles.chaosInternalWireGuard

      ./hardware.nix
      ./secrets.nix
    ]
    ++ (forEach [
      "social"
      "storage"
      "music"
      "quassel"
      "postgresql"
      "mail"
      "forgejo"
      "caldav"
      "owncast"
      "jellyfin"
      "grocy"
      "rss"
    ] (name: ./containers + "/${name}"))
    ++ (with hosts.hetzner-arm.profiles; [
      staticSites
    ]);

  # For Containers
  networking.nat = {
    enable = true;
    internalInterfaces = ["ve-+"];
    externalInterface = "enp1s0";
  };

  networking.hostName = "hetzner-arm";

  home-manager.users.root.home.stateVersion = "23.05";
  system.stateVersion = "23.05";
}