]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - modules/private/websites/connexionswing/production.nix
Refactor websites options
[perso/Immae/Config/Nix.git] / modules / private / websites / connexionswing / production.nix
1 { lib, pkgs, config, myconfig, ... }:
2 let
3 connexionswing = pkgs.callPackage ./builder.nix {
4 inherit (pkgs.webapps) connexionswing;
5 config = myconfig.env.websites.connexionswing.production;
6 apacheUser = config.services.httpd.Prod.user;
7 apacheGroup = config.services.httpd.Prod.group;
8 };
9
10 cfg = config.myServices.websites.connexionswing.production;
11 in {
12 options.myServices.websites.connexionswing.production.enable = lib.mkEnableOption "enable Connexionswing's website in production";
13
14 config = lib.mkIf cfg.enable {
15 secrets.keys = connexionswing.keys;
16 services.webstats.sites = [ { name = "connexionswing.com"; } ];
17
18 systemd.services.phpfpm-connexionswing_prod.after = lib.mkAfter connexionswing.phpFpm.serviceDeps;
19 systemd.services.phpfpm-connexionswing_prod.wants = connexionswing.phpFpm.serviceDeps;
20 systemd.services.phpfpm-connexionswing_prod.preStart = lib.mkAfter connexionswing.phpFpm.preStart;
21 services.phpfpm.pools.connexionswing_prod = {
22 listen = connexionswing.phpFpm.socket;
23 extraConfig = connexionswing.phpFpm.pool;
24 phpOptions = config.services.phpfpm.phpOptions + connexionswing.phpFpm.phpConfig;
25 };
26 system.activationScripts.connexionswing_prod = connexionswing.activationScript;
27 myServices.websites.webappDirs."${connexionswing.apache.webappName}" = connexionswing.app.webRoot;
28 services.websites.env.production.modules = connexionswing.apache.modules;
29 services.websites.env.production.vhostConfs.connexionswing = {
30 certName = "connexionswing";
31 certMainHost = "connexionswing.com";
32 hosts = ["connexionswing.com" "sandetludo.com" "www.connexionswing.com" "www.sandetludo.com" ];
33 root = connexionswing.apache.root;
34 extraConfig = [ connexionswing.apache.vhostConf ];
35 };
36 services.filesWatcher.phpfpm-connexionswing_prod = {
37 restart = true;
38 paths = [ "/var/secrets/webapps/${connexionswing.app.environment}-connexionswing" ];
39 };
40 };
41 }
42