]> git.immae.eu Git - perso/Immae/Config/Nix.git/blame - virtual/modules/websites/tools/cloud/default.nix
Refactor websites.
[perso/Immae/Config/Nix.git] / virtual / modules / websites / tools / cloud / default.nix
CommitLineData
10889174
IB
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}