]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - nixops/modules/websites/tools/dav/default.nix
Start moving websites configuration to modules
[perso/Immae/Config/Nix.git] / nixops / modules / websites / tools / dav / default.nix
index 5b5d21edba97b96e85127f436a4e20998362f1e9..ea2105b495ffca6391080830657d6670380c50e1 100644 (file)
@@ -1,8 +1,23 @@
-{ lib, pkgs, config, myconfig, mylibs, ... }:
+{ lib, pkgs, config, myconfig,  ... }:
 let
-    infcloud = pkgs.callPackage ./infcloud.nix {};
+    infcloud = rec {
+      webappName = "tools_infcloud";
+      root = "/run/current-system/webapps/${webappName}";
+      vhostConf = ''
+          Alias /carddavmate ${root}
+          Alias /caldavzap ${root}
+          Alias /infcloud ${root}
+          <Directory ${root}>
+            AllowOverride All
+            Options FollowSymlinks
+            Require all granted
+            DirectoryIndex index.html
+          </Directory>
+      '';
+    };
     davical = pkgs.callPackage ./davical.nix {
       env = myconfig.env.tools.davical;
+      inherit (pkgs.webapps) davical awl;
     };
 
     cfg = config.services.myWebsites.tools.dav;
@@ -14,14 +29,15 @@ in {
   config = lib.mkIf cfg.enable {
     security.acme.certs."eldiron".extraDomains."dav.immae.eu" = null;
 
-    services.myWebsites.tools.modules = davical.apache.modules;
+    secrets.keys = davical.keys;
+    services.websites.tools.modules = davical.apache.modules;
 
-    services.myWebsites.tools.vhostConfs.dav = {
+    services.websites.tools.vhostConfs.dav = {
       certName    = "eldiron";
       hosts       = ["dav.immae.eu" ];
       root        = null;
       extraConfig = [
-        infcloud.apache.vhostConf
+        infcloud.vhostConf
         davical.apache.vhostConf
       ];
     };
@@ -33,7 +49,7 @@ in {
     system.extraSystemBuilderCmds = ''
       mkdir -p $out/webapps
       ln -s ${davical.webRoot} $out/webapps/${davical.apache.webappName}
-      ln -s ${infcloud.webRoot} $out/webapps/${infcloud.apache.webappName}
+      ln -s ${pkgs.webapps.infcloud} $out/webapps/${infcloud.webappName}
       '';
   };
 }