X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=nixops%2Fmodules%2Fwebsites%2Fchloe%2Fdefault.nix;h=874b81bedce9a7111a9eb70edf457a9039b0d212;hb=7667c367033b15582cf383da62446f78e66a59ef;hp=94cd4be5e7e0b99fadf03b93bbb0ccce5ac48cee;hpb=01f21083a897b86bf148f1d2bb9c8edca4d3786a;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/nixops/modules/websites/chloe/default.nix b/nixops/modules/websites/chloe/default.nix index 94cd4be..874b81b 100644 --- a/nixops/modules/websites/chloe/default.nix +++ b/nixops/modules/websites/chloe/default.nix @@ -1,14 +1,15 @@ { lib, pkgs, config, myconfig, mylibs, ... }: let - chloe = pkgs.callPackage ./chloe.nix { inherit (mylibs) fetchedGitPrivate; }; - chloe_dev = chloe { - config = myconfig.env.websites.chloe.integration; - }; - chloe_prod = chloe { - config = myconfig.env.websites.chloe.production; - }; + chloe_dev = pkgs.callPackage ./chloe.nix { + inherit (pkgs.private.webapps) chloe; + config = myconfig.env.websites.chloe.integration; + }; + chloe_prod = pkgs.callPackage ./chloe.nix { + inherit (pkgs.private.webapps) chloe; + config = myconfig.env.websites.chloe.production; + }; - cfg = config.services.myWebsites.Chloe; + cfg = config.services.myWebsites.Chloe; in { options.services.myWebsites.Chloe = { production = { @@ -19,19 +20,10 @@ in { }; }; - imports = [ - ../commons/stats.nix - ]; - config = lib.mkMerge [ (lib.mkIf cfg.production.enable { - services.myWebsites.commons.stats.enable = true; - services.myWebsites.commons.stats.sites = [ - { - name = "osteopathe-cc.fr"; - conf = ./goaccess.conf; - } - ]; + secrets.keys = chloe_prod.keys; + services.webstats.sites = [ { name = "osteopathe-cc.fr"; } ]; security.acme.certs."chloe" = config.services.myCertificates.certConfig // { domain = "osteopathe-cc.fr"; @@ -40,31 +32,42 @@ in { }; }; + services.myPhpfpm.serviceDependencies.chloe_prod = chloe_prod.phpFpm.serviceDeps; services.myPhpfpm.poolConfigs.chloe_prod = chloe_prod.phpFpm.pool; services.myPhpfpm.poolPhpConfigs.chloe_prod = '' extension=${pkgs.php}/lib/php/extensions/mysqli.so ''; system.activationScripts.chloe_prod = chloe_prod.activationScript; + system.extraSystemBuilderCmds = '' + mkdir -p $out/webapps + ln -s ${chloe_prod.app.webRoot} $out/webapps/${chloe_prod.apache.webappName} + ''; services.myWebsites.production.modules = chloe_prod.apache.modules; services.myWebsites.production.vhostConfs.chloe = { certName = "chloe"; hosts = ["osteopathe-cc.fr" "www.osteopathe-cc.fr" ]; - root = chloe_prod.webRoot; + root = chloe_prod.apache.root; extraConfig = [ chloe_prod.apache.vhostConf ]; }; }) (lib.mkIf cfg.integration.enable { + secrets.keys = chloe_dev.keys; security.acme.certs."eldiron".extraDomains."chloe.immae.eu" = null; + services.myPhpfpm.serviceDependencies.chloe_dev = chloe_dev.phpFpm.serviceDeps; services.myPhpfpm.poolConfigs.chloe_dev = chloe_dev.phpFpm.pool; services.myPhpfpm.poolPhpConfigs.chloe_dev = '' extension=${pkgs.php}/lib/php/extensions/mysqli.so ''; system.activationScripts.chloe_dev = chloe_dev.activationScript; + system.extraSystemBuilderCmds = '' + mkdir -p $out/webapps + ln -s ${chloe_dev.app.webRoot} $out/webapps/${chloe_dev.apache.webappName} + ''; services.myWebsites.integration.modules = chloe_dev.apache.modules; services.myWebsites.integration.vhostConfs.chloe = { certName = "eldiron"; hosts = ["chloe.immae.eu" ]; - root = chloe_dev.webRoot; + root = chloe_dev.apache.root; extraConfig = [ chloe_dev.apache.vhostConf ]; }; })