{config, ...}: {
  imports = [
    ./disko.nix
    ../../users/jalr
    ./services
  ];

  weinturm = {
    impermanence = {
      enable = true;
      rootDevice = config.disko.devices.disk.disk1.content.partitions.nixos.device;
    };
    zram.enable = true;
  };

  networking = {
    hostName = "pbx";
    useDHCP = false;
    vlans = {
      weinturm = {
        id = 7;
        interface = "enp0s25";
      };
      public-event = {
        id = 6;
        interface = "enp0s25";
      };
      voice = {
        id = 8;
        interface = "enp0s25";
      };
      jugendtreff = {
        id = 2;
        interface = "enp0s25";
      };
    };
    interfaces = {
      weinturm = {
        ipv4.addresses = [
          {
            address = "192.168.96.1";
            prefixLength = 24;
          }
        ];
      };
      public-event = {
        ipv4.addresses = [
          {
            address = "10.10.0.1";
            prefixLength = 24;
          }
        ];
      };
      voice = {
        ipv4.addresses = [
          {
            address = "192.168.98.1";
            prefixLength = 24;
          }
        ];
      };
      jugendtreff = {
        ipv4.addresses = [
          {
            address = "192.168.100.11";
            prefixLength = 24;
          }
        ];
      };
    };
    nat = {
      enable = true;
      externalInterface = "jugendtreff";
      internalInterfaces = [
        "weinturm"
        "public-event"
        "voice"
      ];
    };
    defaultGateway.address = "192.168.100.1";
    nameservers = [
      "9.9.9.9"
      "149.112.112.112"
      "2620:fe::fe"
      "2620:fe::9"
    ];
  };

  boot = {
    initrd = {
      availableKernelModules = ["xhci_pci" "ehci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
    };

    kernelModules = ["kvm-intel"];
    kernelParams = [
      "console=ttyS0,115200"
      "console=tty1"
    ];

    loader = {
      efi = {
        efiSysMountPoint = "/boot";
        canTouchEfiVariables = false;
      };
      generationsDir.copyKernels = true;
      grub = {
        devices = ["/dev/sda"];
        efiInstallAsRemovable = true;
        copyKernels = true;
        efiSupport = true;
        mirroredBoots = [
          {
            path = "/boot1";
            devices = ["/dev/sdb"];
          }
        ];
        extraConfig = ''
          serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
          terminal_input --append serial
          terminal_output --append serial
        '';
      };
    };
  };

  system.stateVersion = "25.05"; # Did you read the comment?
}
