diff --git a/lib/modules/rclone.nix b/lib/modules/rclone.nix
index 2c7a599..447ec14 100644
--- a/lib/modules/rclone.nix
+++ b/lib/modules/rclone.nix
@@ -33,6 +33,24 @@ let
       ;
     };
 
+  mkWebdavProvider = { vendor, vendorName }: (
+    mkProvider {
+      displayName = vendorName;
+
+      options = {
+        vendor = lib.mkOption {
+          type = lib.types.str;
+          description = "The vendor of the WebDAV share.";
+          default = vendor;
+        };
+
+        url = lib.mkOption {
+          type = lib.types.str;
+          description = "The WebDAV URL of the ${vendorName} server to connect to.";
+        };
+      };
+    });
+
   syncProviders = {
     nextcloud = mkProvider {};
     proton = mkProvider {};