{ lib, pkgs, config, myconfig, ... }: let ludivinecassal = pkgs.callPackage ./builder.nix { inherit (pkgs.webapps) ludivinecassal; config = myconfig.env.websites.ludivinecassal.integration; apacheUser = config.services.httpd.Inte.user; apacheGroup = config.services.httpd.Inte.group; }; cfg = config.myServices.websites.ludivinecassal.integration; in { options.myServices.websites.ludivinecassal.integration.enable = lib.mkEnableOption "enable Ludivine's website in integration"; config = lib.mkIf cfg.enable { secrets.keys = ludivinecassal.keys; services.myPhpfpm.preStart.ludivinecassal_dev = ludivinecassal.phpFpm.preStart; services.myPhpfpm.serviceDependencies.ludivinecassal_dev = ludivinecassal.phpFpm.serviceDeps; services.myPhpfpm.poolConfigs.ludivinecassal_dev = ludivinecassal.phpFpm.pool; system.activationScripts.ludivinecassal_dev = ludivinecassal.activationScript; system.extraSystemBuilderCmds = '' mkdir -p $out/webapps ln -s ${ludivinecassal.app.webRoot} $out/webapps/${ludivinecassal.apache.webappName} ''; services.websites.integration.modules = ludivinecassal.apache.modules; services.websites.integration.vhostConfs.ludivine = { certName = "eldiron"; addToCerts = true; hosts = [ "ludivine.immae.eu" ]; root = ludivinecassal.apache.root; extraConfig = [ ludivinecassal.apache.vhostConf ]; }; }; }