From cc9e53abbc3d12b1ce669b96ca6da2ea5c596214 Mon Sep 17 00:00:00 2001 From: Jeremy Dormitzer Date: Wed, 20 Nov 2019 09:52:34 -0500 Subject: [PATCH] Set up Google calendar org-agenda integration --- emacs/init.org | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/emacs/init.org b/emacs/init.org index 82a5b73..2673444 100755 --- a/emacs/init.org +++ b/emacs/init.org @@ -1167,6 +1167,33 @@ It's very useful to open a new org buffer for a quick org-babel exploration. (leader-def-key "os" #'org-scratch) #+END_SRC +** org-gcal +Integrate Google calendar with org-mode: +#+BEGIN_SRC emacs-lisp + (defun get-calendar-file (name) + (concat (file-name-as-directory (get-dropbox-directory)) + "org/" name)) + + (use-package org-gcal + :after (org) + :commands (org-gcal-sync + org-gcal-fetch + org-gcal-post-at-point + org-gcal-delete-at-point + org-gcal-refresh-token) + :config + (setq org-gcal-client-id (password-store-get "lola-org-gcal-client-id") + org-gcal-client-secret (password-store-get "lola-org-gcal-client-secret") + org-gcal-file-alist `(("jeremydormitzer@lola.com" . ,(get-calendar-file "lola-gcal.org")) + ("jeremy.dormitzer@gmail.com" . ,(get-calendar-file "personal-gcal.org")) + ("lut2o2moohg6qkdsto1qfq7th4@group.calendar.google.com" . ,(get-calendar-file "j-n-gcal.org")))) + (add-hook 'org-agenda-mode-hook #'org-gcal-fetch) + (defun org-agenda-redo-and-fetch-gcal (&optional all) + (interactive "P") + (let ((cb (if all #'org-agenda-redo-all #'org-agenda-redo))) + (deferred:nextc (org-gcal-fetch) cb))) + (general-def 'motion org-agenda-mode-map "gr" #'org-agenda-redo-and-fetch-gcal)) +#+END_SRC * Projectile #+BEGIN_SRC emacs-lisp (use-package projectile