diff --git a/gtd.el b/gtd.el index a031195..8c6fdf2 100644 --- a/gtd.el +++ b/gtd.el @@ -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 diff --git a/packages.el b/packages.el index 54ee42a..4fb038d 100644 --- a/packages.el +++ b/packages.el @@ -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