{ pkgs, config, inputs, ... }: { imports = [ inputs.nix-minecraft.nixosModules.minecraft-servers ]; nixpkgs.overlays = [ inputs.nix-minecraft.overlay ]; services.nginx.virtualHosts."minecraft.katkak.dev" = { forceSSL = true; enableACME = true; locations."/vanilla" = let serverProperties = config.services.minecraft-servers.servers.vanilla-server.serverProperties; in { proxyPass = "http://${toString serverProperties.server-ip}:${toString serverProperties.server-port}"; proxyWebsockets = true; extraConfig = '' proxy_pass_header Authorization; ''; }; }; services.minecraft-servers = { enable = true; eula = true; servers = { vanilla-server = { enable = true; package = pkgs.vanillaServers.vanilla-1_21_10; serverProperties = { motd = "KatKak's Vanilla Server"; white-list = true; max-players = 5; enable-command-block = true; server-ip = "127.0.0.1"; server-port = 43000; }; jvmOpts = "-Xms4096M -Xmx4096M -XX:+UseG1GC"; }; }; }; }