{ lib, ... }: let inherit (lib) mkEnableOption mkOption types; syncType = types.submodule ({ ... }: { options = { remotePath = mkOption { type = types.str; description = "The path to the folder on the cloud to sync."; }; localPath = mkOption { type = types.str; description = "The path to sync the cloud content to."; }; virtualFiles = (mkEnableOption "virtual file support") // { default = true; }; }; }); in { options = { valhalla.windows.users = mkOption { type = types.attrsOf (types.submodule ( { ... }: { options = { programs.nextcloud = { folderSyncs = mkOption { type = types.listOf syncType; description = "The folders to synchronize."; default = [ ]; }; }; }; })); }; }; }