{ lib, pkgs, config, myconfig, ... }: let connexionswing = pkgs.callPackage ./builder.nix { inherit (pkgs.webapps) connexionswing; config = myconfig.env.websites.connexionswing.production; apacheUser = config.services.httpd.Prod.user; apacheGroup = config.services.httpd.Prod.group; }; cfg = config.myServices.websites.connexionswing.production; in { options.myServices.websites.connexionswing.production.enable = lib.mkEnableOption "enable Connexionswing's website in production"; config = lib.mkIf cfg.enable { secrets.keys = connexionswing.keys; services.webstats.sites = [ { name = "connexionswing.com"; } ]; systemd.services.phpfpm-connexionswing_prod.after = lib.mkAfter connexionswing.phpFpm.serviceDeps; systemd.services.phpfpm-connexionswing_prod.wants = connexionswing.phpFpm.serviceDeps; systemd.services.phpfpm-connexionswing_prod.preStart = lib.mkAfter connexionswing.phpFpm.preStart; services.phpfpm.pools.connexionswing_prod = { listen = connexionswing.phpFpm.socket; extraConfig = connexionswing.phpFpm.pool; phpOptions = config.services.phpfpm.phpOptions + connexionswing.phpFpm.phpConfig; }; system.activationScripts.connexionswing_prod = connexionswing.activationScript; myServices.websites.webappDirs."${connexionswing.apache.webappName}" = connexionswing.app.webRoot; services.websites.env.production.modules = connexionswing.apache.modules; services.websites.env.production.vhostConfs.connexionswing = { certName = "connexionswing"; certMainHost = "connexionswing.com"; hosts = ["connexionswing.com" "sandetludo.com" "www.connexionswing.com" "www.sandetludo.com" ]; root = connexionswing.apache.root; extraConfig = [ connexionswing.apache.vhostConf ]; }; services.filesWatcher.phpfpm-connexionswing_prod = { restart = true; paths = [ "/var/secrets/webapps/${connexionswing.app.environment}-connexionswing" ]; }; }; }