{ config, pkgs, ... }: { imports = [ ./hardware-configuration.nix ../../configuration/common ../../configuration/proxmox-vm ]; boot.loader.grub.enable = true; boot.loader.grub.version = 2; boot.loader.grub.device = "/dev/vda"; networking.hostName = "hydra-1"; networking.useDHCP = false; networking.interfaces.ens18.ipv6.addresses = [ { address = "2001:638:904:ffcb::a"; prefixLength = 64; } ]; networking.interfaces.ens19.ipv4.addresses = [ { address = "192.168.10.36"; prefixLength = 24; } ]; networking.defaultGateway6 = { address = "2001:638:904:ffcb::1"; interface = "ens18"; }; networking.defaultGateway = { address = "192.168.10.1"; interface = "ens19"; }; networking.nameservers = [ "2001:638:904:ffcc::3" "2001:638:904:ffcc::4" "141.24.40.3" "141.24.40.4" ]; # Allow Hydra to fetch remote URLs in restricted mode nix.settings.allowed-uris = "http:// https://"; services.hydra = { enable = true; port = 3001; hydraURL = "https://hydra.clerie.de"; listenHost = "localhost"; notificationSender = "noreply@hydra.clerie.de"; }; services.nginx.enable = true; services.nginx.virtualHosts = { "hydra.clerie.de" = { enableACME = true; forceSSL = true; locations = { "/" = { proxyPass = "http://localhost:3001"; }; }; }; }; networking.firewall.allowedTCPPorts = [ 80 443 ]; system.stateVersion = "22.11"; }