X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=nixops%2Fmodules%2Fwebsites%2Faten%2Fdefault.nix;h=a9e75b6bcb80733e9048fa250f4698a0d50b0c7b;hb=4aac110f17f0528d90510eec00c9a8df60bcf04f;hp=776a02e7e2c5caa1e26df5455af516c0ba0522b5;hpb=a754e9dbf5d6c35398f3c4ec52c3daf5f8ed2dd3;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/nixops/modules/websites/aten/default.nix b/nixops/modules/websites/aten/default.nix index 776a02e..a9e75b6 100644 --- a/nixops/modules/websites/aten/default.nix +++ b/nixops/modules/websites/aten/default.nix @@ -1,14 +1,15 @@ -{ lib, pkgs, config, myconfig, mylibs, ... }: +{ lib, pkgs, config, myconfig, ... }: let - aten = pkgs.callPackage ./aten.nix { inherit (mylibs) fetchedGitPrivate yarn2nixPackage; }; - aten_dev = aten { - config = myconfig.env.websites.aten.integration; - }; - aten_prod = aten { - config = myconfig.env.websites.aten.production; - }; + aten_dev = pkgs.callPackage ./aten.nix { + inherit (pkgs.webapps) aten; + config = myconfig.env.websites.aten.integration; + }; + aten_prod = pkgs.callPackage ./aten.nix { + inherit (pkgs.webapps) aten; + config = myconfig.env.websites.aten.production; + }; - cfg = config.services.myWebsites.Aten; + cfg = config.services.myWebsites.Aten; in { options.services.myWebsites.Aten = { production = { @@ -19,55 +20,42 @@ in { }; }; - imports = [ - ../commons/stats.nix - ]; - config = lib.mkMerge [ (lib.mkIf cfg.production.enable { - deployment.keys = aten_prod.keys; - services.myWebsites.commons.stats.enable = true; - services.myWebsites.commons.stats.sites = [ - { - name = "aten.pro"; - conf = ./goaccess.conf; - } - ]; - - security.acme.certs."aten" = config.services.myCertificates.certConfig // { - domain = "aten.pro"; - extraDomains = { - "www.aten.pro" = null; - }; - }; + secrets.keys = aten_prod.keys; + services.webstats.sites = [ { name = "aten.pro"; } ]; + services.myPhpfpm.preStart.aten_prod = aten_prod.phpFpm.preStart; + services.myPhpfpm.serviceDependencies.aten_prod = aten_prod.phpFpm.serviceDeps; services.myPhpfpm.poolConfigs.aten_prod = aten_prod.phpFpm.pool; system.activationScripts.aten_prod = aten_prod.activationScript; system.extraSystemBuilderCmds = '' mkdir -p $out/webapps - ln -s ${aten_prod.webRoot} $out/webapps/${aten_prod.apache.webappName} + ln -s ${aten_prod.app.webRoot} $out/webapps/${aten_prod.apache.webappName} ''; - services.myWebsites.apacheConfig.aten_prod.modules = aten_prod.apache.modules; - services.myWebsites.production.modules = aten_prod.apache.modules; - services.myWebsites.production.vhostConfs.aten = { - certName = "aten"; - hosts = [ "aten.pro" "www.aten.pro" ]; - root = aten_prod.apache.root; - extraConfig = [ aten_prod.apache.vhostConf ]; + services.websites.production.modules = aten_prod.apache.modules; + services.websites.production.vhostConfs.aten = { + certName = "aten"; + certMainHost = "aten.pro"; + hosts = [ "aten.pro" "www.aten.pro" ]; + root = aten_prod.apache.root; + extraConfig = [ aten_prod.apache.vhostConf ]; }; }) (lib.mkIf cfg.integration.enable { - deployment.keys = aten_dev.keys; - security.acme.certs."eldiron".extraDomains."dev.aten.pro" = null; + secrets.keys = aten_dev.keys; + services.myPhpfpm.preStart.aten_dev = aten_dev.phpFpm.preStart; + services.myPhpfpm.serviceDependencies.aten_dev = aten_dev.phpFpm.serviceDeps; services.myPhpfpm.poolConfigs.aten_dev = aten_dev.phpFpm.pool; system.activationScripts.aten_dev = aten_dev.activationScript; system.extraSystemBuilderCmds = '' mkdir -p $out/webapps - ln -s ${aten_dev.webRoot} $out/webapps/${aten_dev.apache.webappName} + ln -s ${aten_dev.app.webRoot} $out/webapps/${aten_dev.apache.webappName} ''; - services.myWebsites.integration.modules = aten_dev.apache.modules; - services.myWebsites.integration.vhostConfs.aten = { + services.websites.integration.modules = aten_dev.apache.modules; + services.websites.integration.vhostConfs.aten = { certName = "eldiron"; + addToCerts = true; hosts = [ "dev.aten.pro" ]; root = aten_dev.apache.root; extraConfig = [ aten_dev.apache.vhostConf ];