{ lib, pkgs, config, myconfig, ... }: let ludivinecassal = pkgs.callPackage ./builder.nix { inherit (pkgs.webapps) ludivinecassal; config = myconfig.env.websites.ludivinecassal.production; apacheUser = config.services.httpd.Prod.user; apacheGroup = config.services.httpd.Prod.group; }; cfg = config.myServices.websites.ludivinecassal.production; in { options.myServices.websites.ludivinecassal.production.enable = lib.mkEnableOption "enable Ludivine's website in production"; config = lib.mkIf cfg.enable { secrets.keys = ludivinecassal.keys; services.webstats.sites = [ { name = "ludivinecassal.com"; } ]; systemd.services.phpfpm-ludivinecassal_prod.after = lib.mkAfter ludivinecassal.phpFpm.serviceDeps; systemd.services.phpfpm-ludivinecassal_prod.wants = ludivinecassal.phpFpm.serviceDeps; systemd.services.phpfpm-ludivinecassal_prod.preStart = lib.mkAfter ludivinecassal.phpFpm.preStart; services.phpfpm.poolConfigs.ludivinecassal_prod = ludivinecassal.phpFpm.pool; system.activationScripts.ludivinecassal_prod = ludivinecassal.activationScript; myServices.websites.webappDirs."${ludivinecassal.apache.webappName}" = ludivinecassal.app.webRoot; services.websites.production.modules = ludivinecassal.apache.modules; services.websites.production.vhostConfs.ludivine = { certName = "ludivinecassal"; certMainHost = "ludivinecassal.com"; hosts = ["ludivinecassal.com" "www.ludivinecassal.com" ]; root = ludivinecassal.apache.root; extraConfig = [ ludivinecassal.apache.vhostConf ]; }; }; }