feat org-caldav: 3 calendars — Suky (twoway/outbox-only), Placeholders (fromcal), Rodina (fromcal/family)

This commit is contained in:
2026-02-24 21:10:59 +01:00
parent c893960944
commit 7c4fbc9aeb

View File

@@ -1732,23 +1732,57 @@ current frame."
;;; --- Tier 1: High impact ---
;; org-caldav — CalDAV sync for org (Baikal, Basic auth over HTTPS)
;; Credentials via ~/.authinfo (chmod 600):
;; org-caldav — CalDAV sync (3 calendars)
;;
;; ~/.authinfo (chmod 600) musí obsahovat:
;; machine cal.apps.sukany.cz login martin password YOUR_PASSWORD
;; machine cal.apps.sukany.cz login family password FAMILY_PASSWORD
;;
;; Soubory:
;; ~/org/calendar_outbox.org — sem piš události které chceš nahrát na server
;; ~/org/caldav-suky.org — sem přistanou události stažené ze Suky kalendáře
;; ~/org/caldav-placeholders.org — události z Placeholders
;; ~/org/family-calendar.org — rodinný kalendář (read-only)
(use-package! org-caldav
:commands my/org-caldav-sync
:config
(defun my/org-caldav-sync ()
"Sync 3 CalDAV kalendářů:
1. Osobni-Suky (default): stahuj vše → caldav-suky.org, nahraj jen calendar_outbox.org
2. Placeholders: read-only → caldav-placeholders.org
3. Rodina: read-only → family-calendar.org (login: family)"
(interactive)
;; --- 1. Osobni - Suky ---
;; Stahuj události ze serveru → caldav-suky.org
;; Nahraj zpět POUZE obsah calendar_outbox.org
(setq org-caldav-url "https://cal.apps.sukany.cz/dav.php/calendars/martin"
org-caldav-calendar-id "default"
org-caldav-inbox "~/org/caldav-inbox.org"
org-caldav-files '("~/org/personal.org" "~/org/work.org")
org-caldav-inbox "~/org/caldav-suky.org"
org-caldav-files '("~/org/calendar_outbox.org")
org-caldav-sync-direction 'twoway)
(defun my/org-caldav-sync ()
"Sync org-caldav — personal calendar (twoway).
Credentials must be in ~/.authinfo:
machine cal.apps.sukany.cz login martin password <pass>"
(interactive)
(org-caldav-sync)))
(org-caldav-sync)
;; --- 2. Placeholders ---
;; Jen stahuj, nic nenahrávej
(setq org-caldav-url "https://cal.apps.sukany.cz/dav.php/calendars/martin"
org-caldav-calendar-id "4C748EE5-ECFF-4D4A-A72E-6DE37BAADEB3"
org-caldav-inbox "~/org/caldav-placeholders.org"
org-caldav-files nil
org-caldav-sync-direction 'fromcal)
(org-caldav-sync)
;; --- 3. Rodina (family user) ---
;; URL obsahuje "family@" → url-auth použije login family z ~/.authinfo
;; Jen stahuj
(setq org-caldav-url "https://family@cal.apps.sukany.cz/dav.php/calendars/family"
org-caldav-calendar-id "default"
org-caldav-inbox "~/org/family-calendar.org"
org-caldav-files nil
org-caldav-sync-direction 'fromcal)
(org-caldav-sync)
(message "CalDAV sync hotov: Suky + Placeholders + Rodina")))
(map! :leader "o c" #'my/org-caldav-sync)