Add extended options for Owncloud remotes

This commit is contained in:
Manuel Thalmann 2024-05-16 00:32:49 +02:00
parent 09e60ca053
commit faf4a0a290

View file

@ -129,11 +129,29 @@ let
};
}));
mkOwncloudProvider = { displayName ? "Owncloud", vendor ? "owncloud" }: (
{ config, ... }: {
imports = [
(mkWebdavProvider { inherit displayName vendor; })
];
options = {
baseUrl = lib.mkOption {
type = lib.types.str;
description = "The base url of the ${displayName} server for automatically determining the WebDAV url.";
};
};
config = {
url = "${lib.strings.removeSuffix "/" (lib.strings.normalizePath config.baseUrl)}/remote.php/dav/files/${config.username}";
};
});
syncProviders = {
nextcloud = rec {
displayName = "Nextcloud";
module = mkWebdavProvider {
module = mkOwncloudProvider {
inherit displayName;
vendor = "nextcloud";
};
@ -225,7 +243,7 @@ in {
Install = {
WantedBy = lib.optional sync.autoStart "${targetName}.target";
After = builtins.concatLists(builtins.attrValues sync.systemdDependencies);
After = builtins.concatLists (builtins.attrValues sync.systemdDependencies);
};
};
})