cleaning up org agenda GTD style

This commit is contained in:
2025-07-04 10:18:54 -07:00
parent d90c60b847
commit ea5936a7bb

View File

@@ -90,53 +90,75 @@
(setq org-startup-folded t)
(setq org-indent-indentation-per-level 2)
(setq org-hide-emphasis-markers t)
(setq org-agenda-files
'("~/sync/org/agenda/work.org"
"~/sync/org/agenda/personal.org"))
(setq org-agenda-files (directory-files-recursively "~/sync/org/agenda/" "\\.org$"))
(setq org-agenda-todo-ignore-scheduled 'future)
(require 'org-habit)
(add-to-list 'org-modules 'org-habit)
(setq org-habit-graph-column 60)
(setq org-todo-keywords
'((sequence "NEXT(n)" "TODO(t)" "|" "DONE(d!)")
(sequence "ACTIVE(a)" "PROJ(p)" "READY(r)" "WAIT(w)" "HOLD(h)" "BACKLOG(b)" "|" "CANC(k@)")))
'((sequence "ALRT(a)" "EASY(e)" "PROG(p)" "NEXT(n)"
"TODO(t)" "|" "DONE(d)")))
(setq org-todo-keyword-faces
'(("NEXT" . "red") ("TODO" . "orange") ("WAIT" . "yellow") ("DONE" . "green")))
(setq org-refile-targets
'(("archive.org" :maxlevel . 1)
("planner.org" :maxlevel . 1)))
;; Save Org buffers after refiling!
(advice-add 'org-refile :after 'org-save-all-org-buffers)
'(("ALRT" . (:foreground "Red" :weight bold))
("TODO" . (:foreground "Orange" :weight bold))
("PROG" . (:foreground "DodgerBlue" :weight bold))
("NEXT" . (:foreground "Purple" :weight bold))
("EASY" . (:foreground "MediumSeaGreen" :weight bold))
("DONE" . (:foreground "ForestGreen" :weight bold))))
(add-hook 'org-mode-hook #'org-make-toc-mode)
(setq org-agenda-custom-commands
'(("d" "Custom Dashboard"
;; NEXT items for today
((tags "+TODO=\"NEXT\"+SCHEDULED=\"<+0d>\"|+DEADLINE=\"<+0d>\""
((org-agenda-overriding-header "\nNEXT Items for Today\n"))) ; Show NEXT items scheduled or due today
;; TODO items for today
(tags "+TODO=\"TODO\"+SCHEDULED=\"<+0d>\"|+DEADLINE=\"<+0d>\""
((org-agenda-overriding-header "\nTODO Items for Today\n"))) ; Show TODO items scheduled or due today
;; DONE items for today
'(("d" "GTD Dashboard"
;; Begin list of blocks:
(
;; 🚨 Urgent interruptions
(tags "+TODO=\"ALRT\""
((org-agenda-overriding-header "🚨 Urgent / Interruptions")))
;; 🍃 Quick tasks
(tags "+TODO=\"EASY\""
((org-agenda-overriding-header "🍃 Quick tasks (≤15 min)")))
;; 🚧 In-progress items
(tags "+TODO=\"PROG\""
((org-agenda-overriding-header "🚧 In Progress")))
;; ▶ Next actions
(tags "+TODO=\"NEXT\""
((org-agenda-overriding-header "▶ Next Actions")))
;; 📝 Backlog items
(tags "+TODO=\"TODO\""
((org-agenda-overriding-header "📝 Backlog / To Plan")))
;; ✅ Completed recently
(tags "+TODO=\"DONE\"+CLOSED>=\"<-3d>\""
((org-agenda-overriding-header "\nDone Items for Today\n"))) ; Show DONE items closed today
;; Agenda for today
((org-agenda-overriding-header "✅ Recently Done")))
;; 📅 Todays schedule
(agenda ""
((org-agenda-span 1) ; Show only today
(org-agenda-start-day "0d") ; Start from today
(org-agenda-show-all-dates t) ; Ensure all dates are shown
(org-agenda-overriding-header "\nAgenda (Today)\n")))
;; Agenda for next 3 days (no time grid)
((org-agenda-span 1)
(org-agenda-start-day "0d")
(org-agenda-show-all-dates t)
(org-agenda-overriding-header "📅 Todays Schedule")))
;; 📆 Upcoming 3 days
(agenda ""
((org-agenda-span 3) ; Show the next 3 days
(org-agenda-start-day "+1d") ; Start from tomorrow
(org-agenda-overriding-header "\nAgenda (Next 3 Days)\n")
(org-agenda-time-grid nil))))))) ; Remove time grid
((org-agenda-span 3)
(org-agenda-start-day "+1d")
(org-agenda-overriding-header "📆 Next 3 Days")
(org-agenda-time-grid nil)))
;; 📋 Catch-all TODO list
(alltodo ""
((org-agenda-overriding-header "📋 All Tasks")))
) ; End of block-list
) ; End of the "d" command entry
)) ; End of defcustom list
;; Create capture templates
(setq org-capture-templates
@@ -144,9 +166,7 @@
("tw" "Work Task" entry (file+headline "~/sync/org/agenda/work.org" "Inbox")
"* TODO %?\n %U\n %i" :empty-lines 1)
("tp" "Personal Task" entry (file+headline "~/sync/org/agenda/personal.org" "Inbox")
"* TODO %?\n %U\n %i" :empty-lines 1)
("tb" "Backlog Task" entry (file+headline "~/documents/org/agenda/todo.org" "Backlog")
"* BACKLOG %?\n %U\n %i" :empty-lines 1)))
"* TODO %?\n %U\n %i" :empty-lines 1)))
;; Tell Org to stop indenting inside of org source blocks.
(setq org-edit-src-content-indentation 0)