summaryrefslogtreecommitdiff
path: root/lisp/org-custom.el
blob: 8c917dcca419639cd89f4d1a4411f2a1c0362383 (plain)
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98

;;; Code:

(require 'org)
(defun org-custom-hook()
  "Custom org mode hook."
  (setq org-hide-emphasis-markers t)

  (let* ((variable-tuple
          (cond ((x-list-fonts "Iosevka")   '(:font "Iosevka"))
                ((x-list-fonts "Monaco")   '(:font "Monaco"))
                ((x-list-fonts "Source Sans Pro") '(:font "Source Sans Pro"))))
         (base-font-color     (face-foreground 'default nil 'default))
         (headline           `(:inherit default :weight normal :foreground ,base-font-color :extend t :background nil :box nil)))

    (custom-theme-set-faces
     'user
     `(org-level-8 ((t (,@headline ,@variable-tuple))))
     `(org-level-7 ((t (,@headline ,@variable-tuple))))
     `(org-level-6 ((t (,@headline ,@variable-tuple))))
     `(org-level-5 ((t (,@headline ,@variable-tuple))))
     `(org-level-4 ((t (,@headline ,@variable-tuple :height 1.0))))
     `(org-level-3 ((t (,@headline ,@variable-tuple :height 1.1))))
     `(org-level-2 ((t (,@headline ,@variable-tuple :height 1.2 :weight bold))))
     `(org-level-1 ((t (,@headline ,@variable-tuple :height 1.3 :weight bold))))
     `(org-document-title ((t (,@headline ,@variable-tuple :height 1.3 :weight bold))))))


  (use-package org-bullets
    :ensure t
    :config
    (org-bullets-mode 1)
    )
  
  (org-indent-mode 1)
  (visual-line-mode 1))

(setq org-directory "~/OrgRoam")

(setq org-agenda-files '("~/OrgRoam" "~/OrgRoam/daily"))
(setq org-default-notes-file (concat org-directory "/inbox.org"))

(setq org-todo-keywords
	  '((sequence "TODO" "PROGRESS" "VERIFY" "|" "DONE" "ABANDONED")))


(setq org-return-follows-link  t)

(add-hook 'org-mode-hook 'org-custom-hook)

(setq org-src-fontify-natively t)

(use-package org-super-agenda
  :ensure t)

(use-package org-alert
  :ensure t
  :config
  (org-alert-enable)
  (setq org-alert-interval 3600 ; Once per hour!
      org-alert-notify-cutoff 30
      org-alert-notify-after-event-cutoff 30
      alert-default-style 'libnotify))

(use-package org-roam
  :ensure t
  :custom
  (org-roam-directory "~/OrgRoam")
  :bind (("C-c n l" . org-roam-buffer-toggle)
         ("C-c n f" . org-roam-node-find)
         ("C-c n i" . org-roam-node-insert)
         ("C-c n g" . org-roam-graph)
         ("C-c n j" . org-roam-dailies-capture-today)
         ("C-c n t" . org-roam-tag-add)
         ("C-c n a" . org-roam-alias-add)
         ("C-c n c" . org-capture))
  :config
  (setq org-roam-node-display-template (concat "${title:*} " (propertize "${tags:10}" 'face 'org-tag)))
  (org-roam-setup)
  )

(setq org-capture-templates
      '(("t" "Todo" entry (file+headline org-default-notes-file "Tasks")
         "* TODO %?\n DEADLINE: %t")
        ("q" "Quick Notes" entry (file+headline org-default-notes-file "Quick Notes")
         "* %?Created on %U\n  %i")))

(defun org-archive-done-tasks ()
  "Archive all done tasks in an org subtree"
  (interactive)
  (org-map-entries
   (lambda ()
     (org-archive-subtree)
     (setq org-map-continue-from (org-element-property :begin (org-element-at-point))))
   "/DONE" 'tree))

(provide 'org-custom)
;;; org-custom.el ends here