{ 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; system.extraSystemBuilderCmds = '' mkdir -p $out/webapps ln -s ${connexionswing.app.webRoot} $out/webapps/${connexionswing.apache.webappName} ''; services.websites.production.modules = connexionswing.apache.modules; services.websites.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 ]; }; }; }