1 { config, lib, pkgs, ... }:
3 greenapid = pkgs.callPackage ./greenapid.nix {};
4 frontend = pkgs.callPackage ./frontend.nix { nodeEnv = pkgs.callPackage pkgs.mylibs.nodeEnv {}; };
5 wordlists = pkgs.runCommand "wordlists" {} ''
7 cp -r ${./wordlists} $out/wordlists
9 cfg = config.myServices.websites.games.codenames;
12 options.myServices.websites.games.codenames.enable = lib.mkEnableOption "Enable Codenames game";
13 config = lib.mkIf cfg.enable {
14 systemd.services.codenames_api = {
15 description = "Api for codenames game";
16 wantedBy = [ "multi-user.target" ];
17 script = "${greenapid}/bin/greenapid";
20 chown :wwwrun /run/codenamesgreen/socket.sock
21 chmod g+w /run/codenamesgreen/socket.sock
26 SupplementaryGroups = [ "wwwrun" ];
28 RuntimeDirectory = "codenamesgreen";
29 WorkingDirectory = builtins.toString wordlists;
33 services.websites.env.tools.vhostConfs.games_codenames = {
35 certMainHost = "games.immae.eu";
36 hosts = [ "codenames.games.immae.eu" ];
40 ProxyPass /api/ unix:///run/codenamesgreen/socket.sock|http://codenames.games.immae.eu/
41 ProxyPassReverse /api/ unix:///run/codenamesgreen/socket.sock|http://codenames.games.immae.eu/
43 <Directory ${frontend}>
44 FallbackResource index.html