]>
Commit | Line | Data |
---|---|---|
ab8f306d | 1 | { lib, pkgs, config, ... }: |
10889174 | 2 | let |
452c2314 | 3 | infcloud = rec { |
750fe5a4 | 4 | root = pkgs.webapps.infcloud; |
452c2314 IB |
5 | vhostConf = '' |
6 | Alias /carddavmate ${root} | |
7 | Alias /caldavzap ${root} | |
8 | Alias /infcloud ${root} | |
9 | <Directory ${root}> | |
10 | AllowOverride All | |
11 | Options FollowSymlinks | |
12 | Require all granted | |
13 | DirectoryIndex index.html | |
14 | </Directory> | |
15 | ''; | |
16 | }; | |
9d90e7e2 | 17 | davical = pkgs.callPackage ./davical.nix { |
ab8f306d | 18 | env = config.myEnv.tools.davical; |
452c2314 | 19 | inherit (pkgs.webapps) davical awl; |
da30ae4f | 20 | inherit config; |
9d90e7e2 | 21 | }; |
10889174 | 22 | |
4288c2f2 | 23 | cfg = config.myServices.websites.tools.dav; |
10889174 | 24 | in { |
4288c2f2 | 25 | options.myServices.websites.tools.dav = { |
10889174 IB |
26 | enable = lib.mkEnableOption "enable dav website"; |
27 | }; | |
28 | ||
29 | config = lib.mkIf cfg.enable { | |
4288c2f2 | 30 | system.activationScripts.davical = davical.activationScript; |
1a718805 | 31 | secrets.keys = davical.keys; |
29f8cb85 | 32 | services.websites.env.tools.modules = davical.apache.modules; |
10889174 | 33 | |
29f8cb85 | 34 | services.websites.env.tools.vhostConfs.dav = { |
10889174 | 35 | certName = "eldiron"; |
7df420c2 | 36 | addToCerts = true; |
10889174 | 37 | hosts = ["dav.immae.eu" ]; |
750fe5a4 | 38 | root = ./www; |
10889174 | 39 | extraConfig = [ |
452c2314 | 40 | infcloud.vhostConf |
5400b9b6 | 41 | (davical.apache.vhostConf config.services.phpfpm.pools.davical.socket) |
10889174 IB |
42 | ]; |
43 | }; | |
44 | ||
441da8aa IB |
45 | services.phpfpm.pools = { |
46 | davical = { | |
5400b9b6 IB |
47 | user = config.services.httpd.Tools.user; |
48 | group = config.services.httpd.Tools.group; | |
49 | settings = davical.phpFpm.pool; | |
dcac3ec7 | 50 | phpPackage = pkgs.php72; |
441da8aa | 51 | }; |
10889174 | 52 | }; |
10889174 IB |
53 | }; |
54 | } | |
55 |