From 6cc4e8ce572a498cc4fe92d4c6e4546bc302807e Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Wed, 13 May 2026 14:21:41 -0500 Subject: chore: add calendar-sync.local.el example template After cc594fd moved private feed URLs out of modules/calendar-sync.el, new machines need a hand-written calendar-sync.local.el to populate calendar-sync-calendars. The template shows the file shape, where to find the .ics URLs, and which user-constants variables fill the :file slots. The real file stays gitignored. --- calendar-sync.local.el.example | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 calendar-sync.local.el.example (limited to 'calendar-sync.local.el.example') 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 -- cgit v1.2.3