1 { config, lib, pkgs, ... }:
3 cfg = config.myServices.websites.games.terraforming-mars;
4 terraforming-mars = pkgs.callPackage ./terraforming-mars.nix {};
7 options.myServices.websites.games.terraforming-mars.enable = lib.mkEnableOption "Enable Terraforming mars game";
8 config = lib.mkIf cfg.enable {
9 systemd.services.terraforming-mars = {
10 path = [ pkgs.nodejs pkgs.bashInteractive ];
11 description = "Terraforming mars game";
12 wantedBy = [ "multi-user.target" ];
14 export PORT=/run/terraforming-mars/socket.sock
15 export NODE_ENV=production
16 mkdir -p /var/lib/terraforming-mars/db
21 chown :wwwrun /run/terraforming-mars/socket.sock
22 chmod g+w /run/terraforming-mars/socket.sock
25 User = "terraformingmars";
27 SupplementaryGroups = [ "wwwrun" ];
29 WorkingDirectory = terraforming-mars;
30 RuntimeDirectory = "terraforming-mars";
31 StateDirectory = "terraforming-mars";
35 services.websites.env.tools.vhostConfs.games_terraforming-mars = {
37 certMainHost = "games.immae.eu";
38 hosts = [ "terraforming-mars.games.immae.eu" ];
42 ProxyPass / unix:///run/terraforming-mars/socket.sock|http://terraforming-mars.games.immae.eu/
43 ProxyPassReverse / unix:///run/terraforming-mars/socket.sock|http://terraforming-mars.games.immae.eu/