aboutsummaryrefslogtreecommitdiff
path: root/virtual/modules/websites/tools/cloud/default.nix
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2019-01-12 12:41:23 +0100
committerIsmaël Bouya <ismael.bouya@normalesup.org>2019-01-12 21:59:41 +0100
commit108891744eaa7410e305871212d5b81c1b67a095 (patch)
tree90e3f1a87573532ed1c14e233ad7348904ce47f8 /virtual/modules/websites/tools/cloud/default.nix
parent950ca5ee979ae2467f3471216140de2c1d572f4b (diff)
downloadNix-108891744eaa7410e305871212d5b81c1b67a095.tar.gz
Nix-108891744eaa7410e305871212d5b81c1b67a095.tar.zst
Nix-108891744eaa7410e305871212d5b81c1b67a095.zip
Refactor websites.
This commit refactors websites into module per "vhost".
Diffstat (limited to 'virtual/modules/websites/tools/cloud/default.nix')
-rw-r--r--virtual/modules/websites/tools/cloud/default.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/virtual/modules/websites/tools/cloud/default.nix b/virtual/modules/websites/tools/cloud/default.nix
new file mode 100644
index 0000000..7dd5c6e
--- /dev/null
+++ b/virtual/modules/websites/tools/cloud/default.nix
@@ -0,0 +1,45 @@
1{ lib, pkgs, config, mylibs, ... }:
2let
3 nextcloud = pkgs.callPackage ./nextcloud.nix { inherit (mylibs) checkEnv; };
4
5 cfg = config.services.myWebsites.tools.cloud;
6in {
7 options.services.myWebsites.tools.cloud = {
8 enable = lib.mkEnableOption "enable cloud website";
9 };
10
11 config = lib.mkIf cfg.enable {
12 security.acme.certs."eldiron".extraDomains."cloud.immae.eu" = null;
13
14 services.myWebsites.tools.modules = nextcloud.apache.modules;
15
16 services.myWebsites.tools.vhostConfs.cloud = {
17 certName = "eldiron";
18 hosts = ["cloud.immae.eu" ];
19 root = nextcloud.webRoot;
20 extraConfig = [
21 nextcloud.apache.vhostConf
22 ];
23 };
24
25 environment.systemPackages = let
26 occ = pkgs.writeScriptBin "nextcloud-occ" ''
27 #! ${pkgs.stdenv.shell}
28 cd ${nextcloud.webRoot}
29 NEXTCLOUD_CONFIG_DIR="${nextcloud.webRoot}/config" \
30 exec \
31 ${pkgs.php}/bin/php \
32 -c ${pkgs.php}/etc/php.ini \
33 occ $*
34 '';
35 in [ occ ];
36
37 system.activationScripts.nextcloud = nextcloud.activationScript;
38
39 services.myPhpfpm = {
40 poolPhpConfigs.nextcloud = nextcloud.phpFpm.phpConfig;
41 poolConfigs.nextcloud = nextcloud.phpFpm.pool;
42 };
43
44 };
45}