Configuration¶
Vdirsyncer uses an ini-like format for storing its configuration. All values are JSON, invalid JSON will get interpreted as string:
x = "foo" # String
x = foo # Shorthand for same string
x = 42 # Integer
x = ["a", "b", "c"] # List of strings
x = true # Boolean
x = false
x = null # Also known as None
General Section¶
[general]
status_path = ...
#password_command =
- status_path: A directory where vdirsyncer will store metadata for the next sync. The data is needed to determine whether a new item means it has been added on one side or deleted on the other. Relative paths will be interpreted as relative to the configuration file’s directory.
- password_command specifies a command to query for server passwords. The command will be called with the username as the first argument, and the hostname as the second.
New in version 0.3.0: The passwordeval parameter.
Changed in version 0.4.0: The passwordeval parameter has been renamed to password_command.
Pair Section¶
[pair pair_name]
a = ...
b = ...
#collections = null
#conflict_resolution = null
Pair names can consist of any alphanumeric characters and the underscore.
a and b reference the storages to sync by their names.
collections: Optional, a list of collections to synchronize. If this parameter is omitted, it is assumed the storages are already directly pointing to one collection each. Specifying a collection multiple times won’t make vdirsyncer sync that collection more than once.
Furthermore, there are the special values "from a" and "from b", which tell vdirsyncer to try autodiscovery on a specific storage.
Examples:
- collections = ["from b", "foo", "bar"] makes vdirsyncer synchronize the collections from side B, and also the collections named “foo” and “bar”.
- collections = ["from b", from a"] makes vdirsyncer synchronize all existing collections on either side.
conflict_resolution: Optional, define how conflicts should be handled. A conflict occurs when one item (event, task) changed on both sides since the last sync.
Valid values are:
- "a wins" and "b wins", where the whole item is taken from one side. Vdirsyncer will not attempt to merge the two items.
- null, the default, where an error is shown and no changes are done.
Storage Section¶
[storage storage_name]
type = ...
- Storage names can consist of any alphanumeric characters and the underscore.
- type defines which kind of storage is defined. See Supported Storages.
- read_only defines whether the storage should be regarded as a read-only storage. The value true means synchronization will discard any changes made to the other side. The value false implies normal 2-way synchronization.
- Any further parameters are passed on to the storage class.
Supported Storages¶
Read-write storages¶
These storages generally support reading and changing of their items. Their default value for read_only is false, but can be set to true if wished.
Read-only storages¶
These storages don’t support writing of their items, consequently read_only is set to true by default. Changing read_only to false on them leads to an error.