diff --git a/modules/home-manager/emacs/init.el b/modules/home-manager/emacs/init.el index 77bcf22..331351a 100644 --- a/modules/home-manager/emacs/init.el +++ b/modules/home-manager/emacs/init.el @@ -454,21 +454,33 @@ (org-log-into-drawer t) (org-log-done 'time) (org-todo-keywords - '((sequence "TODO(t)" "NEXT(n)" "PROG(p)" "WAIT(w)" "SOMEDAY(s)" "|" "DONE(d)" "CANCELLED(c)"))) + '((sequence "TODO(t)" "NEXT(n)" "WAITING(w)" "|" "DONE(d)" "CANCELLED(c)"))) (org-capture-templates - `(("i" "Inbox" entry (file+headline "todo.org" "Inbox") - "* TODO %?") - ("j" "Journal" entry (file denote-journal-path-to-new-or-existing-entry) - "* %U %?\n%i\n%a" - :kill-buffer t - :empty-lines 1) - ("@" "Inbox [email]" entry (file+headline "todo.org" "Inbox") - ,(concat "* TODO Process \"%a\" %?\n" - "%U")))) + `(("i" "Inbox" entry (file "inbox.org") + "* TODO %i%?") + ("n" "Note" plain + (file denote-last-path) + #'denote-org-capture + :no-save t + :immediate-finish nil + :kill-buffer t + :jump-to-captured t) + ("j" "Journal" entry + (file denote-journal-path-to-new-or-existing-entry) + "* %U %?\n%a" + :kill-buffer t + :empty-lines 1) + ("@" "Inbox [email]" entry (file "inbox.org") + "* Process %a %?"))) (org-refile-use-outline-path 'file) (org-outline-path-complete-in-steps nil) - (org-refile-targets '((nil :maxlevel . 9) - (org-agenda-files :maxlevel . 9))) + (org-directory "~/org") + (org-agenda-files '("~/org/inbox.org" + "~/org/gtd.org" + "~/org/calendar.org")) + (org-refile-targets '(("~/org/gtd.org" :maxlevel . 3) + ("~/org/someday.org" :level . 1) + ("~/org/calendar.org" :level . 1))) (org-agenda-skip-scheduled-if-done t) (org-agenda-skip-deadline-if-done t) (org-agenda-include-deadlines t) @@ -477,22 +489,58 @@ (org-agenda-compact-blocks t) (org-agenda-start-with-log-mode t) :config - (setq org-directory "~/org") - (setq org-agenda-files (list "todo.org")) :hook (org-mode . org-indent-mode) :init (require 'org-tempo)) -(use-package org-roam +(use-package org-modern :ensure t - :custom - (org-roam-directory "~/org") - :bind (("C-c n l" . org-roam-buffer-toggle) - ("C-c n f" . org-roam-node-find) - ("C-c n i" . org-roam-node-insert)) :config - (org-roam-setup)) + (global-org-modern-mode)) + +(use-package org-caldav + :ensure t + :config + (setq org-caldav-url "https://nextcloud.michaelthomson.dev/remote.php/dav/calendars/mthomson") + (setq org-caldav-calendar-id "personal") + (setq org-caldav-inbox "~/org/calendar.org") + (setq org-caldav-files nil) + (setq org-icalendar-timezone "America/Toronto")) + +(use-package denote + :ensure t + :hook (dired-mode . denote-dired-mode) + :bind + (("C-c n n" . denote) + ("C-c n r" . denote-rename-file) + ("C-c n l" . denote-link) + ("C-c n b" . denote-backlinks) + ("C-c n d" . denote-dired) + ("C-c n g" . denote-grep)) + :config + (setq denote-directory (expand-file-name "~/org/notes/")) + (denote-rename-buffer-mode 1)) + +(use-package consult-denote + :ensure t + :bind + (("C-c n f" . consult-denote-find) + ("C-c n g" . consult-denote-grep)) + :config + (consult-denote-mode 1)) + +(use-package denote-journal + :ensure t + :commands ( denote-journal-new-entry + denote-journal-new-or-existing-entry + denote-journal-link-or-create-entry ) + :hook (calendar-mode . denote-journal-calendar-mode) + :config + (setq denote-journal-directory + (expand-file-name "journal" denote-directory)) + (setq denote-journal-keyword "journal") + (setq denote-journal-title-format 'day-date-month-year)) (use-package mu4e :ensure t