From 091ae73429b8853e6ab971bffaccd84bdd59f40d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Thu, 10 Jan 2019 23:02:54 +0100 Subject: Move packages fils to module --- virtual/modules/websites/ludivine/default.nix | 60 +++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 virtual/modules/websites/ludivine/default.nix (limited to 'virtual/modules/websites/ludivine/default.nix') diff --git a/virtual/modules/websites/ludivine/default.nix b/virtual/modules/websites/ludivine/default.nix new file mode 100644 index 0000000..ed719ba --- /dev/null +++ b/virtual/modules/websites/ludivine/default.nix @@ -0,0 +1,60 @@ +{ lib, pkgs, config, mylibs, ... }: +let + ludivinecassal = pkgs.callPackage ./ludivinecassal.nix { inherit (mylibs) checkEnv fetchedGitPrivate; }; + ludivinecassal_dev = ludivinecassal { environment = "dev"; }; + ludivinecassal_prod = ludivinecassal { environment = "prod"; }; + + cfg = config.services.myWebsites.Ludivine; +in { + options.services.myWebsites.Ludivine = { + production = { + enable = lib.mkEnableOption "enable Ludivine's website in production"; + }; + integration = { + enable = lib.mkEnableOption "enable Ludivine's website in integration"; + }; + }; + + config = lib.mkMerge [ + (lib.mkIf cfg.production.enable { + services.myWebsites.commons.stats.enable = true; + services.myWebsites.commons.stats.sites = [ + { + name = "ludivinecassal.com"; + conf = ./goaccess.conf; + } + ]; + + security.acme.certs."ludivinecassal" = config.services.myCertificates.certConfig // { + domain = "ludivinecassal.com"; + extraDomains = { + "www.ludivinecassal.com" = null; + }; + }; + + services.phpfpm.poolConfigs.ludivinecassal_prod = ludivinecassal_prod.phpFpm.pool; + system.activationScripts.ludivinecassal_prod = ludivinecassal_prod.activationScript; + services.myWebsites.production.modules = ludivinecassal_prod.apache.modules; + services.myWebsites.production.vhostConfs.ludivine = { + certName = "ludivinecassal"; + hosts = ["ludivinecassal.com" "www.ludivinecassal.com" ]; + root = ludivinecassal_prod.webRoot; + extraConfig = [ ludivinecassal_prod.apache.vhostConf ]; + }; + }) + (lib.mkIf cfg.integration.enable { + security.acme.certs."eldiron".extraDomains."ludivine.immae.eu" = null; + + services.phpfpm.poolConfigs.ludivinecassal_dev = ludivinecassal_dev.phpFpm.pool; + system.activationScripts.ludivinecassal_dev = ludivinecassal_dev.activationScript; + services.myWebsites.apacheConfig.ludivinecassal_dev.modules = ludivinecassal_dev.apache.modules; + services.myWebsites.integration.modules = ludivinecassal_dev.apache.modules; + services.myWebsites.integration.vhostConfs.ludivine = { + certName = "eldiron"; + hosts = [ "ludivine.immae.eu" ]; + root = ludivinecassal_dev.webRoot; + extraConfig = [ ludivinecassal_dev.apache.vhostConf ]; + }; + }) + ]; +} -- cgit v1.2.3