diff options
author | bd <bdunahu@colostate.edu> | 2024-01-10 19:44:21 -0700 |
---|---|---|
committer | bd <bdunahu@colostate.edu> | 2024-01-10 19:44:21 -0700 |
commit | 1ced565816120bfcc351daf9fc3a4e851162e3b7 (patch) | |
tree | 93e9c23660cd07f4dba861f334b23c03d322f48c /.config/emacs/modules/bd--org.el | |
parent | da5922a476cebdbbf338f0192165dbbbcd3f7b6f (diff) |
Initial commit of new repository structure
Diffstat (limited to '.config/emacs/modules/bd--org.el')
-rw-r--r-- | .config/emacs/modules/bd--org.el | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/.config/emacs/modules/bd--org.el b/.config/emacs/modules/bd--org.el new file mode 100644 index 0000000..c4ade63 --- /dev/null +++ b/.config/emacs/modules/bd--org.el @@ -0,0 +1,87 @@ +;; -*- lexical-binding: t; -*- + + +(defvar-local agenda-file "~/Personal/roam/agenda/agenda_tasks.org") + +(defun bd/org-mode-setup-hook () + "Sets up improved org-mode defaults upon +each org file open." + (org-indent-mode) + (org-toggle-inline-images) + (org-toggle-pretty-entities)) + +;; hooks +(add-hook 'org-mode-hook 'bd/org-mode-setup-hook) + +;; binds +(keymap-global-set "C-c n a" 'org-agenda) +(keymap-global-set "C-c n c" 'org-capture) +(keymap-global-set "C-c n s" 'org-schedule) +(keymap-global-set "C-c n d" 'org-deadline) +(keymap-global-set "C-c n r" 'org-refile) + +;; source blocks +(org-babel-do-load-languages + 'org-babel-load-languages + '((emacs-lisp . t) + (python . t) + (shell . t) + (lisp . t))) + +;; standard +(setopt org-startup-folded 'show2levels + org-ellipsis " ▾") + +;; agenda +(advice-add 'org-refile :after 'org-save-all-org-buffers) ; after refiling tasks, save all buffers + +(setopt org-agenda-files + `(,agenda-file "~/Personal/roam/agenda/archived_tasks.org") + + org-deadline-warning-days 7 + org-log-done 'time + org-log-into-drawer "history" + + org-todo-keywords + '((sequence "TODO(t)" "NEXT(n!)" "|" "DONE(d)" "CANC(c)")) + + org-refile-targets ; refile into the headings of these files, not tags + '(("archived_tasks.org" :maxlevel . 1) + ("agenda_tasks.org" :maxlevel . 1)) + + org-capture-templates + `(("t" " Tasks") + ("ts" "Software Testing" entry (file+olp ,agenda-file "CS415") + "* TODO %?\n DEADLINE: %^t") + ("tm" "Machine Learning" entry (file+olp ,agenda-file "CS445") + "* TODO %?\n DEADLINE: %^t") + ("tp" "Programming Languages" entry (file+olp ,agenda-file "CS454") + "* TODO %?\n DEADLINE: %^t") + ("tc" "Creative Writing" entry (file+olp ,agenda-file "E210") + "* TODO %?\n DEADLINE: %^t") + ("s" " Self") + ("s" "Unsorted Task" entry (file+olp ,agenda-file "Self") + "* TODO %?\n %^t\n %a")) + + org-agenda-custom-commands + '(("S" "Standard Block Agenda" + ((tags-todo "*" + ((org-agenda-skip-function '(org-agenda-skip-if nil '(timestamp))) + (org-agenda-block-separator nil) + (org-agenda-overriding-header "Undated Tasks\n"))) + (agenda "" ((org-agenda-span 8) + (org-deadline-warning-days 0) + (org-agenda-block-separator nil) + (org-scheduled-past-days 4) + (org-agenda-overriding-header "\nUpcoming Tasks\n"))) + (agenda "" ((org-agenda-time-grid nil) + (org-agenda-show-all-dates nil) + (org-agenda-span 21) + (org-deadline-warning-days 0) + (org-agenda-block-separator nil) + (org-agenda-entry-types '(:deadline)) + (org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done)) + (org-agenda-overriding-header "\nFuture Deadlines (+21d)\n"))))))) + + +(provide 'bd--org) |