mirror of
https://github.com/starr-dusT/dotfiles.git
synced 2025-02-19 19:27:31 -08:00
84 lines
3.7 KiB
EmacsLisp
84 lines
3.7 KiB
EmacsLisp
;;; +gtd.el -*- lexical-binding: t; -*-
|
|
(after! org
|
|
(setq org-capture (directory-files-recursively
|
|
(concat org-directory "gtd/capture/") "\.org$"))
|
|
(setq org-agenda (directory-files-recursively
|
|
(concat org-directory "gtd/agenda/") "\.org$"))
|
|
(setq org-todo (directory-files-recursively
|
|
(concat org-directory "gtd/todo/") "\.org$"))
|
|
(setq org-note (directory-files-recursively
|
|
(concat org-directory "gtd/note/") "\.org$"))
|
|
(setq org-agenda-files (append org-capture org-agenda org-todo))
|
|
(setq org-default-notes-file org-note)
|
|
|
|
(setq org-todo-keywords
|
|
(quote ((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d)")
|
|
(sequence "WAITING(w@/!)" "HOLD(h@/!)" "|"
|
|
"CANCELLED(c@/!)"))))
|
|
|
|
(setq org-capture-todo (concat org-directory "gtd/capture/inbox.org"))
|
|
(setq org-capture-note (concat org-directory "gtd/capture/note.org"))
|
|
|
|
(setq org-capture-templates
|
|
(doct '(("personal" :keys "p"
|
|
:children (("todo" :keys "t"
|
|
:file org-capture-todo
|
|
:template ("* TODO %? :@home:personal:" "%U"))
|
|
("question" :keys "q"
|
|
:file org-capture-todo
|
|
:template ("* TODO Find out %? :@home:question:"
|
|
"%U"))
|
|
("habit" :keys "h"
|
|
:file org-capture-todo
|
|
:template ("* NEXT %? :@home:habit:" "%U"
|
|
"SCHEDULED: %(format-time-string
|
|
\"%<<%Y-%m-%d %a .+1d/3d>>\")"
|
|
":PROPERTIES:" ":STYLE: habit"
|
|
":REPEAT_TO_STATE: NEXT" ":END:"))
|
|
("meeting" :keys "m"
|
|
:children (("reoccuring" :keys "r"
|
|
:file org-capture-todo
|
|
:template ("* NEXT %? :@home:meeting:"
|
|
"%U" "SCHEDULED:
|
|
%(format-time-string
|
|
\"%<<%Y-%m-%d %a +7d>>\")"
|
|
":PROPERTIES:"
|
|
":REPEAT_TO_STATE: NEXT"
|
|
":END:"))))
|
|
("note" :keys "n"
|
|
:file org-capture-note
|
|
:template ("* %? :@home:note:" "%U")))))))
|
|
|
|
(setq org-super-agenda-header-map (make-sparse-keymap))
|
|
(org-super-agenda-mode)
|
|
|
|
(setq org-agenda-custom-commands
|
|
'(("d" "Daily Agenda"
|
|
((agenda "" ((org-agenda-span 'day)
|
|
(org-super-agenda-groups
|
|
'((:name "LATE"
|
|
:face (:underline t)
|
|
:deadline past)
|
|
(:name "TODAY"
|
|
:time-grid t
|
|
:scheduled today
|
|
:deadline today)))))
|
|
(todo "" ((org-agenda-overriding-header "")
|
|
(org-super-agenda-groups
|
|
'((:name "--- PROJECTS ---"
|
|
:children t)
|
|
(:discard (:anything t))))))))))
|
|
|
|
(setq org-tag-alist
|
|
'((:startgroup)
|
|
; put mutually exclusive tags here
|
|
(:endgroup)
|
|
("@home" . ?h)
|
|
("@work" . ?w)
|
|
("note" . ?n)
|
|
("question" . ?q)
|
|
("habit" . ?h)
|
|
("recurring" . ?r)))
|
|
|
|
)
|