PortValhalla/lib/modules/programs/nextcloud.nix

40 lines
930 B
Nix

{ 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 = [ ];
};
};
};
}));
};
};
}