WIP: org-caldav

This commit is contained in:
Max Schlueter 2024-02-10 18:36:36 +01:00
parent 6951ffc0c3
commit 154a5faebe
2 changed files with 43 additions and 2 deletions

44
gtd.el
View File

@ -6,8 +6,8 @@
org-agenda-files (mapcar (lambda (filename) (expand-file-name filename org-directory))
'("gtd/inbox.org"
"gtd/tasks.org"
"gtd/journal.org"
"gtd/calendar.org")))
"caldav/personal.org" ;; synced by org-caldav
"gtd/journal.org")))
;; (file-expand-wildcards (concat org-directory "gtd/*.org"))))
;; org-agenda-files (append (mapcar 'file-truename
;; (file-expand-wildcards (concat org-directory "gtd/*.org")))
@ -33,6 +33,7 @@
;; org-refile-target-verify-function nil
;; org-refile-targets '(("tasks.org" . (:maxlevel . 2))))
org-refile-targets `(("tasks.org" . (:maxlevel . 2))
(,(expand-file-name "caldav/personal.org" org-directory) . (:level . 0))
(,(expand-file-name "gtd/someday.org" org-directory) . (:maxlevel . 1)))))
;; Getting the following on capture:
@ -221,6 +222,45 @@ show up there.\n\n"))
(map! "C-c e" #'gtd-capture-event)
;;; TODO: not working still
;;; https://www.reddit.com/r/orgmode/comments/8rl8ep/making_orgcaldav_useable/
(use-package! org-caldav
:autoload org-caldav-sync
:init
(defvar +gtd/org-caldav-directory nil
"Directory where org-caldav synchronizes the calendars to.")
(setq org-icalendar-alarm-time 10)
:config
(setq org-caldav-resume-aborted 'always
+gtd/org-caldav-directory (expand-file-name "caldav" org-directory)
org-caldav-save-directory +gtd/org-caldav-directory
org-caldav-backup-file (expand-file-name "org-caldav-backup.org" +gtd/org-caldav-directory)
org-caldav-url "https://nextcloud.maxschlueter.com/remote.php/dav/calendars/max"
org-caldav-calendar-id "test"
org-caldav-files `(,(expand-file-name "personal.org" +gtd/org-caldav-directory))
org-caldav-inbox (expand-file-name "personal.org" +gtd/org-caldav-directory))
;; (after! org-agenda
;; (add-to-list 'org-agenda-files max/org-calendar-file t)
;; (setq org-agenda-include-diary t
;; org-agenda-insert-diary-strategy 'top-level
;; org-agenda-insert-diary-extract-time t
;; org-agenda-diary-file max/org-calendar-file))
;; (setq org-caldav-calendars
;; `((:calendar-id "personal"
;; :files (,(expand-file-name "personal.org" +gtd/org-caldav-directory)))))
;; :inbox ,(concat max/org-calendar-directory "personal.org"))))
(defun max/org-caldav-get-inbox ()
(let* ((calid (completing-read "Calendar: "
(cl-loop for cal in org-caldav-calendars
collect (plist-get cal :calendar-id))
nil t))
(calinbox (cl-loop for cal in org-caldav-calendars
when (string= (plist-get cal :calendar-id) calid)
return (plist-get cal :inbox))))
calinbox)))
(after! org
(setq org-clock-persist t
;; Useful when clocking in on a waiting task

View File

@ -58,6 +58,7 @@
(package! org-inline-pdf)
(package! org-clock-convenience)
(package! org-super-agenda)
(package! org-caldav)
(package! org-transclusion)
;; org-roam-ui keeps up with the latest features in org-roam