{ pkgs, ... }: { users.users.guandanbtw = { isSystemUser = true; group = "guandanbtw"; home = "/var/lib/guandanbtw"; createHome = true; }; users.groups.guandanbtw = {}; systemd.services.guandanbtw = { description = "Guandan card game"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; serviceConfig = { ExecStart = "/www/sites/guandanbtw/server/bin/guandanbtw"; WorkingDirectory = "/www/sites/guandanbtw/server"; Restart = "always"; User = "guandanbtw"; Group = "guandanbtw"; }; }; services.nginx.virtualHosts."guandan.dev" = { enableACME = true; forceSSL = true; root = "/www/sites/guandanbtw/client/dist"; locations."/" = { tryFiles = "$uri $uri/ /index.html"; }; locations."/ws" = { proxyPass = "http://127.0.0.1:8080"; proxyWebsockets = true; }; }; }