Add vdirsyncer config

Amolith created

Change summary

.chezmoi.yaml.tmpl                |  2 
dot_config/vdirsyncer/config.tmpl | 74 +++++++++++++++++++++++++++++++++
2 files changed, 76 insertions(+)

Detailed changes

.chezmoi.yaml.tmpl 🔗

@@ -1,6 +1,8 @@
 {{- $gotify_token := promptString "gotify_token" -}}
+{{- $dav_url := promptString "dav_url" -}}
 
 data:
   gotify_token: {{ $gotify_token | quote }}
+  dav_url: {{ $dav_url | quote }}
 
 pager: delta

dot_config/vdirsyncer/config.tmpl 🔗

@@ -0,0 +1,74 @@
+# An example configuration for vdirsyncer.
+#
+# Move it to ~/.vdirsyncer/config or ~/.config/vdirsyncer/config and edit it.
+# Run `vdirsyncer --help` for CLI usage.
+#
+# Optional parameters are commented out.
+# This file doesn't document all available parameters, see
+# http://vdirsyncer.pimutils.org/ for the rest of them.
+
+[general]
+# A folder where vdirsyncer can store some metadata about each pair.
+status_path = "~/.config/vdirsyncer/status/"
+
+# CARDDAV
+[pair contacts]
+# A `[pair <name>]` block defines two storages `a` and `b` that should be
+# synchronized. The definition of these storages follows in `[storage <name>]`
+# blocks. This is similar to accounts in OfflineIMAP.
+a = "contacts_local"
+b = "contacts_remote"
+
+# Synchronize all collections that can be found.
+# You need to run `vdirsyncer discover` if new calendars/addressbooks are added
+# on the server.
+
+collections = ["from a", "from b"]
+
+# Synchronize the "display name" property into a local file (~/.contacts/displayname).
+metadata = ["displayname"]
+
+# To resolve a conflict the following values are possible:
+#   `null` - abort when collisions occur (default)
+#   `"a wins"` - assume a's items to be more up-to-date
+#   `"b wins"` - assume b's items to be more up-to-date
+conflict_resolution = "b wins"
+
+[storage contacts_local]
+# A storage references actual data on a remote server or on the local disk.
+# Similar to repositories in OfflineIMAP.
+type = "filesystem"
+path = "~/.contacts/"
+fileext = ".vcf"
+
+[storage contacts_remote]
+type = "carddav"
+url = "{{- .dav_url -}}"
+username = "amolith"
+password.fetch = ["command", "secret-tool", "lookup", "Title", "vdirsyncer"]
+
+# CALDAV
+[pair calendar]
+a = "calendar_local"
+b = "calendar_remote"
+collections = ["from a", "from b"]
+
+# Calendars also have a color property
+metadata = ["displayname", "color"]
+
+# To resolve a conflict the following values are possible:
+#   `null` - abort when collisions occur (default)
+#   `"a wins"` - assume a's items to be more up-to-date
+#   `"b wins"` - assume b's items to be more up-to-date
+conflict_resolution = "b wins"
+
+[storage calendar_local]
+type = "filesystem"
+path = "~/.calendars/"
+fileext = ".ics"
+
+[storage calendar_remote]
+type = "caldav"
+url = "{{- .dav_url -}}"
+username = "amolith"
+password.fetch = ["command", "secret-tool", "lookup", "Title", "vdirsyncer"]