diff options
author | Ismaël Bouya <ismael.bouya@normalesup.org> | 2019-01-25 23:15:08 +0100 |
---|---|---|
committer | Ismaël Bouya <ismael.bouya@normalesup.org> | 2019-01-25 23:15:08 +0100 |
commit | 01f21083a897b86bf148f1d2bb9c8edca4d3786a (patch) | |
tree | 784f04e9b6ef99a49e572c84e4b7ab40b5eb5fde /nixops/modules/websites/chloe/default.nix | |
parent | bfe3c9c9df0c5112bc8806483292b55ed0f7e02d (diff) | |
download | Nix-01f21083a897b86bf148f1d2bb9c8edca4d3786a.tar.gz Nix-01f21083a897b86bf148f1d2bb9c8edca4d3786a.tar.zst Nix-01f21083a897b86bf148f1d2bb9c8edca4d3786a.zip |
Rename virtual folder to nixops
Fixes https://git.immae.eu/mantisbt/view.php?id=82
Diffstat (limited to 'nixops/modules/websites/chloe/default.nix')
-rw-r--r-- | nixops/modules/websites/chloe/default.nix | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/nixops/modules/websites/chloe/default.nix b/nixops/modules/websites/chloe/default.nix new file mode 100644 index 0000000..94cd4be --- /dev/null +++ b/nixops/modules/websites/chloe/default.nix | |||
@@ -0,0 +1,72 @@ | |||
1 | { lib, pkgs, config, myconfig, mylibs, ... }: | ||
2 | let | ||
3 | chloe = pkgs.callPackage ./chloe.nix { inherit (mylibs) fetchedGitPrivate; }; | ||
4 | chloe_dev = chloe { | ||
5 | config = myconfig.env.websites.chloe.integration; | ||
6 | }; | ||
7 | chloe_prod = chloe { | ||
8 | config = myconfig.env.websites.chloe.production; | ||
9 | }; | ||
10 | |||
11 | cfg = config.services.myWebsites.Chloe; | ||
12 | in { | ||
13 | options.services.myWebsites.Chloe = { | ||
14 | production = { | ||
15 | enable = lib.mkEnableOption "enable Chloe's website in production"; | ||
16 | }; | ||
17 | integration = { | ||
18 | enable = lib.mkEnableOption "enable Chloe's website in integration"; | ||
19 | }; | ||
20 | }; | ||
21 | |||
22 | imports = [ | ||
23 | ../commons/stats.nix | ||
24 | ]; | ||
25 | |||
26 | config = lib.mkMerge [ | ||
27 | (lib.mkIf cfg.production.enable { | ||
28 | services.myWebsites.commons.stats.enable = true; | ||
29 | services.myWebsites.commons.stats.sites = [ | ||
30 | { | ||
31 | name = "osteopathe-cc.fr"; | ||
32 | conf = ./goaccess.conf; | ||
33 | } | ||
34 | ]; | ||
35 | |||
36 | security.acme.certs."chloe" = config.services.myCertificates.certConfig // { | ||
37 | domain = "osteopathe-cc.fr"; | ||
38 | extraDomains = { | ||
39 | "www.osteopathe-cc.fr" = null; | ||
40 | }; | ||
41 | }; | ||
42 | |||
43 | services.myPhpfpm.poolConfigs.chloe_prod = chloe_prod.phpFpm.pool; | ||
44 | services.myPhpfpm.poolPhpConfigs.chloe_prod = '' | ||
45 | extension=${pkgs.php}/lib/php/extensions/mysqli.so | ||
46 | ''; | ||
47 | system.activationScripts.chloe_prod = chloe_prod.activationScript; | ||
48 | services.myWebsites.production.modules = chloe_prod.apache.modules; | ||
49 | services.myWebsites.production.vhostConfs.chloe = { | ||
50 | certName = "chloe"; | ||
51 | hosts = ["osteopathe-cc.fr" "www.osteopathe-cc.fr" ]; | ||
52 | root = chloe_prod.webRoot; | ||
53 | extraConfig = [ chloe_prod.apache.vhostConf ]; | ||
54 | }; | ||
55 | }) | ||
56 | (lib.mkIf cfg.integration.enable { | ||
57 | security.acme.certs."eldiron".extraDomains."chloe.immae.eu" = null; | ||
58 | services.myPhpfpm.poolConfigs.chloe_dev = chloe_dev.phpFpm.pool; | ||
59 | services.myPhpfpm.poolPhpConfigs.chloe_dev = '' | ||
60 | extension=${pkgs.php}/lib/php/extensions/mysqli.so | ||
61 | ''; | ||
62 | system.activationScripts.chloe_dev = chloe_dev.activationScript; | ||
63 | services.myWebsites.integration.modules = chloe_dev.apache.modules; | ||
64 | services.myWebsites.integration.vhostConfs.chloe = { | ||
65 | certName = "eldiron"; | ||
66 | hosts = ["chloe.immae.eu" ]; | ||
67 | root = chloe_dev.webRoot; | ||
68 | extraConfig = [ chloe_dev.apache.vhostConf ]; | ||
69 | }; | ||
70 | }) | ||
71 | ]; | ||
72 | } | ||