get some basic gtd-esque stuff going

This commit is contained in:
Tyler Starr 2021-01-03 01:32:02 -08:00
parent 2529a5692b
commit 6d8f022244
6 changed files with 132 additions and 29 deletions

83
.doom.d/+gtd.el Normal file
View File

@ -0,0 +1,83 @@
;;; +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)))
)

4
.doom.d/+org.el Normal file
View File

@ -0,0 +1,4 @@
;;; +org.el -*- lexical-binding: t; -*-
(after! org
(setq org-directory "~/documents/org/")
)

22
.doom.d/+ui.el Normal file
View File

@ -0,0 +1,22 @@
;;; +ui.el -*- lexical-binding: t; -*-
;; Doom exposes five (optional) variables for controlling fonts in Doom. Here
;; are the three important ones:
;;
;; + `doom-font'
;; + `doom-variable-pitch-font'
;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for
;; presentations or streaming.
;;
;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd
;; font string. You generally only need these two:
;; (setq doom-font (font-spec :family "monospace" :size 12 :weight 'semi-light)
;; doom-variable-pitch-font (font-spec :family "sans" :size 13))
;; There are two ways to load a theme. Both assume the theme is installed and
;; available. You can either set `doom-theme' or manually load a theme with the
;; `load-theme' function. This is the default:
(setq doom-theme 'doom-gruvbox)
;; This determines the style of line numbers in effect. If set to `nil', line
;; numbers are disabled. For relative line numbers, set this to `relative'.
(setq display-line-numbers-type t)

View File

@ -6,35 +6,8 @@
;; Some functionality uses this to identify you, e.g. GPG configuration, email
;; clients, file templates and snippets.
(setq user-full-name "John Doe"
user-mail-address "john@doe.com")
;; Doom exposes five (optional) variables for controlling fonts in Doom. Here
;; are the three important ones:
;;
;; + `doom-font'
;; + `doom-variable-pitch-font'
;; + `doom-big-font' -- used for `doom-big-font-mode'; use this for
;; presentations or streaming.
;;
;; They all accept either a font-spec, font string ("Input Mono-12"), or xlfd
;; font string. You generally only need these two:
;; (setq doom-font (font-spec :family "monospace" :size 12 :weight 'semi-light)
;; doom-variable-pitch-font (font-spec :family "sans" :size 13))
;; There are two ways to load a theme. Both assume the theme is installed and
;; available. You can either set `doom-theme' or manually load a theme with the
;; `load-theme' function. This is the default:
(setq doom-theme 'doom-one)
;; If you use `org' and don't want your org files in the default location below,
;; change `org-directory'. It must be set before org loads!
(setq org-directory "~/org/")
;; This determines the style of line numbers in effect. If set to `nil', line
;; numbers are disabled. For relative line numbers, set this to `relative'.
(setq display-line-numbers-type t)
(setq user-full-name "Tyler Starr"
user-mail-address "starrtyler88@gmail.com")
;; Here are some additional functions/macros that could help you configure Doom:
;;
@ -52,3 +25,8 @@
;;
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
;; they are implemented.
;; Modules
(load! "+ui")
(load! "+org")
(load! "+gtd")

13
.doom.d/custom.el Normal file
View File

@ -0,0 +1,13 @@
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(custom-safe-themes
'("d6603a129c32b716b3d3541fc0b6bfe83d0e07f1954ee64517aa62c9405a3441" "e6ff132edb1bfa0645e2ba032c44ce94a3bd3c15e3929cdf6c049802cf059a2a" default)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)

View File

@ -48,3 +48,6 @@
;(unpin! pinned-package another-pinned-package)
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
;(unpin! t)
(package! doct)
(package! org-super-agenda)