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 myServices.chatonsProperties.services.codenames = {
15 file.datetime = "2022-08-27T14:08:00";
17 name = "Codenames Green";
18 description = "Co-op codenames app";
19 website = "https://codenames.games.immae.eu/";
20 logo = "https://codenames.games.immae.eu/images/apple-touch-icon.png";
22 status.description = "OK";
23 registration."" = ["NONE"];
24 registration.load = "OPEN";
25 install.type = "PACKAGE";
28 name = "Codenames Green";
29 website = "https://www.codenamesgreen.com/";
30 license.url = "https://github.com/jbowens/codenamesgreen/blob/master/package.json";
32 version = greenapid.version;
33 source.url = "https://github.com/jbowens/codenamesgreen";
36 systemd.services.codenames_api = {
37 description = "Api for codenames game";
38 wantedBy = [ "multi-user.target" ];
39 script = "${greenapid}/bin/greenapid";
42 chown :wwwrun /run/codenamesgreen/socket.sock
43 chmod g+w /run/codenamesgreen/socket.sock
48 SupplementaryGroups = [ "wwwrun" ];
50 RuntimeDirectory = "codenamesgreen";
51 WorkingDirectory = builtins.toString wordlists;
55 services.websites.env.tools.vhostConfs.games_codenames = {
57 certMainHost = "games.immae.eu";
58 hosts = [ "codenames.games.immae.eu" ];
62 ProxyPass /api/ unix:///run/codenamesgreen/socket.sock|http://codenames.games.immae.eu/
63 ProxyPassReverse /api/ unix:///run/codenamesgreen/socket.sock|http://codenames.games.immae.eu/
65 <Directory ${frontend}>
66 FallbackResource index.html