]>
Commit | Line | Data |
---|---|---|
9d90e7e2 | 1 | { lib, pkgs, config, myconfig, mylibs, ... }: |
10889174 | 2 | let |
452c2314 IB |
3 | infcloud = rec { |
4 | webappName = "tools_infcloud"; | |
5 | root = "/run/current-system/webapps/${webappName}"; | |
6 | vhostConf = '' | |
7 | Alias /carddavmate ${root} | |
8 | Alias /caldavzap ${root} | |
9 | Alias /infcloud ${root} | |
10 | <Directory ${root}> | |
11 | AllowOverride All | |
12 | Options FollowSymlinks | |
13 | Require all granted | |
14 | DirectoryIndex index.html | |
15 | </Directory> | |
16 | ''; | |
17 | }; | |
9d90e7e2 IB |
18 | davical = pkgs.callPackage ./davical.nix { |
19 | env = myconfig.env.tools.davical; | |
452c2314 | 20 | inherit (pkgs.webapps) davical awl; |
9d90e7e2 | 21 | }; |
10889174 IB |
22 | |
23 | cfg = config.services.myWebsites.tools.dav; | |
24 | in { | |
25 | options.services.myWebsites.tools.dav = { | |
26 | enable = lib.mkEnableOption "enable dav website"; | |
27 | }; | |
28 | ||
29 | config = lib.mkIf cfg.enable { | |
30 | security.acme.certs."eldiron".extraDomains."dav.immae.eu" = null; | |
31 | ||
1a718805 | 32 | secrets.keys = davical.keys; |
10889174 IB |
33 | services.myWebsites.tools.modules = davical.apache.modules; |
34 | ||
35 | services.myWebsites.tools.vhostConfs.dav = { | |
36 | certName = "eldiron"; | |
37 | hosts = ["dav.immae.eu" ]; | |
38 | root = null; | |
39 | extraConfig = [ | |
452c2314 | 40 | infcloud.vhostConf |
10889174 IB |
41 | davical.apache.vhostConf |
42 | ]; | |
43 | }; | |
44 | ||
45 | services.myPhpfpm.poolConfigs = { | |
46 | davical = davical.phpFpm.pool; | |
47 | }; | |
48 | ||
a95ab089 IB |
49 | system.extraSystemBuilderCmds = '' |
50 | mkdir -p $out/webapps | |
51 | ln -s ${davical.webRoot} $out/webapps/${davical.apache.webappName} | |
452c2314 | 52 | ln -s ${pkgs.webapps.infcloud} $out/webapps/${infcloud.webappName} |
a95ab089 | 53 | ''; |
10889174 IB |
54 | }; |
55 | } | |
56 |