blob: 4ff0cf475ea0791cc7d4723d3e94db5662f496b3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
(defun org-archive-subtree-and-set-startup-visibility ()
(interactive)
(org-archive-subtree)
(org-set-startup-visibility))
(use-package org
:ensure nil ;; package is bundled with emacs
:bind (("C-c c" . org-capture)
("C-c a" . org-agenda)
("C-c y" . org-archive-subtree-and-set-startup-visibility)
("C-c l" . org-store-link))
:config
;; name of subtree where archived tasks should be moved
(setq org-archive-location "::* Archived Tasks")
;; display all org files in agenda
(setq org-agenda-files (list org-directory))
;; refile targets 1 level in current buffer and all org agenda files
(setq org-refile-targets '((nil :maxlevel . 1) (org-agenda-files :maxlevel . 1)))
;; record time when moving a task to done state
(setq org-log-done 'time)
;; default file for capture
(setq org-default-notes-file (expand-file-name "personal.org" org-directory))
;; capture template including title, date and time
(setq org-capture-templates '(("p" "Personal" entry (file+olp "" "Tasks")
"* TODO %?\n %U"
:prepend t
:empty-lines-after 1)
("w" "Work" entry (file+olp "work.org" "Tasks")
"* TODO %?\n %U"
:prepend t
:empty-lines-after 1)))
;; automatically mark archived entry as done
(setq org-archive-mark-done t)
;; highlight code blocks
(setq org-src-fontify-natively t)
;; indent code blocks the same way as the language major mode
(setq org-src-tab-acts-natively t)
;; define todo states
(setq org-todo-keywords '((sequence "TODO" "WAIT" "DONE")))
;; disallow invisible edits
(setq org-catch-invisible-edits 'error)
;; customize agenda
(setq org-agenda-custom-commands
'(;; default view
("n" "Agenda and all TODOs" ((agenda "") (alltodo "")))
;; split by state
("m" "Agenda and all TODOs split by state"
((agenda "") (todo "TODO") (todo "WAIT"))))))
(provide 'init-org)
|