summaryrefslogtreecommitdiff
path: root/calendar-sync.local.el.example
diff options
context:
space:
mode:
Diffstat (limited to 'calendar-sync.local.el.example')
-rw-r--r--calendar-sync.local.el.example34
1 files changed, 34 insertions, 0 deletions
diff --git a/calendar-sync.local.el.example b/calendar-sync.local.el.example
new file mode 100644
index 00000000..ba84603b
--- /dev/null
+++ b/calendar-sync.local.el.example
@@ -0,0 +1,34 @@
+;;; calendar-sync.local.el.example --- Template for private calendar config -*- lexical-binding: t; -*-
+
+;; Copy this file to `calendar-sync.local.el' (sibling of init.el) and
+;; replace the placeholder URLs with your actual private ICS feed
+;; addresses. The real file is gitignored; the template is tracked.
+;;
+;; How it works:
+;; - `modules/calendar-sync.el' defines `calendar-sync-private-config-file'
+;; defaulting to ~/.emacs.d/calendar-sync.local.el.
+;; - At the bottom of that module, `calendar-sync--load-private-config'
+;; calls `load' on that path if readable. Missing file = silent no-op,
+;; and `calendar-sync-now' prints "No calendars configured".
+;; - `user-constants' is required earlier in init.el, so `gcal-file',
+;; `pcal-file', and `dcal-file' are bound when this file is evaluated.
+;;
+;; Where to find the private .ics URL:
+;; - Google Calendar: Settings -> Your Calendar -> Integrate calendar ->
+;; "Secret address in iCal format" (regenerate if leaked).
+;; - Proton Calendar: Settings -> Import/Export / Share -> "Share with
+;; anyone (via link)" -> copy the .ics URL.
+
+(setq calendar-sync-calendars
+ `((:name "google"
+ :url "https://calendar.google.com/calendar/ical/YOUR_ADDRESS%40gmail.com/private-XXXXXXXXXX/basic.ics"
+ :file ,gcal-file)
+ (:name "proton"
+ :url "https://calendar.proton.me/api/calendar/v1/url/XXXXXXXX/calendar.ics?CacheKey=XXXXXXXX&PassphraseKey=XXXXXXXX"
+ :file ,pcal-file)
+ (:name "deepsat"
+ :url "https://calendar.google.com/calendar/ical/YOUR_WORK_ADDRESS%40example.com/private-XXXXXXXXXX/basic.ics"
+ :file ,dcal-file)))
+
+(provide 'calendar-sync.local)
+;;; calendar-sync.local.el.example ends here