]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - virtual/modules/websites/tools/dav/infcloud.nix
Refactor websites.
[perso/Immae/Config/Nix.git] / virtual / modules / websites / tools / dav / infcloud.nix
diff --git a/virtual/modules/websites/tools/dav/infcloud.nix b/virtual/modules/websites/tools/dav/infcloud.nix
new file mode 100644 (file)
index 0000000..876578b
--- /dev/null
@@ -0,0 +1,38 @@
+{ stdenv, fetchzip, ed }:
+let
+  infcloud = rec {
+    webRoot = stdenv.mkDerivation rec {
+      version = "0.13.1";
+      name = "InfCloud-${version}";
+      src = fetchzip {
+        url = "https://www.inf-it.com/InfCloud_${version}.zip";
+        sha256 = "1fjhs0cj0b9fhf5ysfz281mknmmg1z551bas143sxfcqlpa5aiiq";
+      };
+      buildPhase = ''
+        ./cache_update.sh
+        rm config.js
+      '';
+      installPhase = ''
+        cp -a . $out
+        ln -s ${./infcloud_config.js} $out/config.js
+      '';
+      buildInputs = [ ed ];
+    };
+    apache = {
+      user = "wwwrun";
+      group = "wwwrun";
+      vhostConf = ''
+        Alias /carddavmate ${webRoot}
+        Alias /caldavzap ${webRoot}
+        Alias /infcloud ${webRoot}
+        <Directory ${webRoot}>
+          AllowOverride All
+          Options FollowSymlinks
+          Require all granted
+          DirectoryIndex index.html
+        </Directory>
+        '';
+    };
+  };
+in
+  infcloud