Bunch of Fixes & Org-Mode Simplification
- Add font names as configuration variables - Add org mode quick access keybindings to leader key prefix - Disable auto fill mode and evil auto indent when in org-mode - Add more comments and whitespace fixes - Comment out unused org mode configuration options - Fix some filepaths - Add config as org structure template
This commit is contained in:
136
README.org
136
README.org
@@ -17,9 +17,14 @@
|
|||||||
** Configuration Variables
|
** Configuration Variables
|
||||||
|
|
||||||
#+begin_src emacs-lisp :tangle init.el
|
#+begin_src emacs-lisp :tangle init.el
|
||||||
|
;; Font Sizes
|
||||||
(defvar sb/default-font-size 110)
|
(defvar sb/default-font-size 110)
|
||||||
(defvar sb/default-variable-font-size 110)
|
(defvar sb/default-variable-font-size 110)
|
||||||
(defvar sb/modeline-height 10)
|
(defvar sb/modeline-height 10)
|
||||||
|
|
||||||
|
;; Font Names
|
||||||
|
(defvar sb/source-code-font "FiraCode Nerd Font")
|
||||||
|
(defvar sb/document-font "Cantarell")
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Package System Setup
|
* Package System Setup
|
||||||
@@ -85,20 +90,21 @@ Turn on the visual bell and add some breathing room.
|
|||||||
|
|
||||||
Setup FiraCode and Cantarell fonts with specified size.
|
Setup FiraCode and Cantarell fonts with specified size.
|
||||||
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp :tangle init.el
|
#+begin_src emacs-lisp :tangle init.el
|
||||||
(set-face-attribute 'default nil :font "FiraCode Nerd Font" :height sb/default-font-size)
|
;; Set the default font
|
||||||
|
(set-face-attribute 'default nil :font sb/source-code-font :height sb/default-font-size)
|
||||||
|
|
||||||
;; Set the fixed pitch face
|
;; Set the fixed pitch font
|
||||||
(set-face-attribute 'fixed-pitch nil :font "FiraCode Nerd Font" :height sb/default-font-size)
|
(set-face-attribute 'fixed-pitch nil :font sb/source-code-font :height sb/default-font-size)
|
||||||
|
|
||||||
;; Set the variable pitch face
|
;; Set the variable pitch font
|
||||||
(set-face-attribute 'variable-pitch nil :font "Cantarell" :height sb/default-font-size :weight 'regular)
|
(set-face-attribute 'variable-pitch nil :font sb/document-font :height sb/default-font-size :weight 'regular)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Ligature Support
|
** Ligature Support
|
||||||
|
|
||||||
Add ligature support for Fira Code font.
|
Add ligature support for Fira Code font.
|
||||||
|
|
||||||
- https://github.com/tonsky/FiraCode/wiki/Emacs-instructions#using-ligatureel
|
- https://github.com/tonsky/FiraCode/wiki/Emacs-instructions#using-ligatureel
|
||||||
|
|
||||||
#+begin_src emacs-lisp :tangle init.el
|
#+begin_src emacs-lisp :tangle init.el
|
||||||
@@ -143,10 +149,15 @@ Add ligature support for Fira Code font.
|
|||||||
:global-prefix "C-SPC")
|
:global-prefix "C-SPC")
|
||||||
|
|
||||||
(sb/leader-keys
|
(sb/leader-keys
|
||||||
|
"o" '(:ignore t :which-key "org-mode quick access")
|
||||||
|
"oa" '(org-agenda :which-key "org agenda")
|
||||||
|
"oc" '(org-capture :which-key "org capture")
|
||||||
;; "t" '(:ignore t :which-key "toggles")
|
;; "t" '(:ignore t :which-key "toggles")
|
||||||
;; "tc" '(comment-line :which-key "toggle comment")
|
;; "tc" '(comment-line :which-key "toggle comment")
|
||||||
"s" '(:ignore s :which-key "settings")))
|
"s" '(:ignore s :which-key "settings")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
(general-define-key
|
(general-define-key
|
||||||
"C-M-j" 'counsel-switch-buffer
|
"C-M-j" 'counsel-switch-buffer
|
||||||
)
|
)
|
||||||
@@ -308,10 +319,10 @@ Use Hydra to design a transient key binding for quickly adjusting the scale of t
|
|||||||
|
|
||||||
#+begin_src emacs-lisp :tangle init.el
|
#+begin_src emacs-lisp :tangle init.el
|
||||||
(defun sb/org-font-setup ()
|
(defun sb/org-font-setup ()
|
||||||
;; Replace list hyphen with dot
|
;; ;; Replace list hyphen with dot
|
||||||
(font-lock-add-keywords 'org-mode
|
;; (font-lock-add-keywords 'org-mode
|
||||||
'(("^ *\\([-]\\) "
|
;; '(("^ *\\([-]\\) "
|
||||||
(0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•"))))))
|
;; (0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•"))))))
|
||||||
|
|
||||||
;; Set faces for heading levels
|
;; Set faces for heading levels
|
||||||
(dolist (face '((org-level-1 . 1.2)
|
(dolist (face '((org-level-1 . 1.2)
|
||||||
@@ -334,56 +345,68 @@ Use Hydra to design a transient key binding for quickly adjusting the scale of t
|
|||||||
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch))
|
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Basic Config
|
** Main Config
|
||||||
|
|
||||||
#+begin_src emacs-lisp :tangle init.el
|
#+begin_src emacs-lisp :tangle init.el
|
||||||
(defun sb/org-mode-setup ()
|
(defun sb/org-mode-setup ()
|
||||||
(org-indent-mode)
|
(org-indent-mode)
|
||||||
(variable-pitch-mode 1)
|
(variable-pitch-mode 1)
|
||||||
(visual-line-mode 1))
|
(auto-fill-mode 0)
|
||||||
|
(visual-line-mode 1)
|
||||||
|
(setq evil-auto-indent nil))
|
||||||
|
|
||||||
(use-package org
|
(use-package org
|
||||||
:hook (org-mode . sb/org-mode-setup)
|
:hook (org-mode . sb/org-mode-setup)
|
||||||
:config
|
:config
|
||||||
|
;; Change elipsis to down arrow
|
||||||
(setq org-ellipsis " ▾")
|
(setq org-ellipsis " ▾")
|
||||||
|
|
||||||
|
;; Org Agenda Settings
|
||||||
(setq org-agenda-start-with-log-mode t)
|
(setq org-agenda-start-with-log-mode t)
|
||||||
(setq org-log-done 'time)
|
(setq org-log-done 'time)
|
||||||
(setq org-log-into-drawer t)
|
(setq org-log-into-drawer t)
|
||||||
|
|
||||||
|
;; Org Agenda Files
|
||||||
(setq org-agenda-files
|
(setq org-agenda-files
|
||||||
'("~/Projects/Code/emacs-from-scratch/OrgFiles/Tasks.org"
|
'(
|
||||||
"~/Projects/Code/emacs-from-scratch/OrgFiles/Habits.org"
|
"~/OrgFiles/Tasks.org"
|
||||||
"~/Projects/Code/emacs-from-scratch/OrgFiles/Birthdays.org"))
|
;; "~/OrgFiles/Habits.org"
|
||||||
|
;; "~/OrgFiles/Birthdays.org"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
;; Org Habit Tracker
|
||||||
(require 'org-habit)
|
(require 'org-habit)
|
||||||
(add-to-list 'org-modules 'org-habit)
|
(add-to-list 'org-modules 'org-habit)
|
||||||
(setq org-habit-graph-column 60)
|
(setq org-habit-graph-column 60)
|
||||||
|
|
||||||
|
;; Org TODO Keywords
|
||||||
(setq org-todo-keywords
|
(setq org-todo-keywords
|
||||||
'((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)")
|
'((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)")
|
||||||
(sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)" "REVIEW(v)" "WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANC(k@)")))
|
(sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)" "REVIEW(v)" "WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANC(k@)")))
|
||||||
|
|
||||||
(setq org-refile-targets
|
;; ;; Move tasks between documents
|
||||||
'(("Archive.org" :maxlevel . 1)
|
;; (setq org-refile-targets
|
||||||
("Tasks.org" :maxlevel . 1)))
|
;; '(("Archive.org" :maxlevel . 1)
|
||||||
|
;; ("Tasks.org" :maxlevel . 1)))
|
||||||
|
|
||||||
;; Save Org buffers after refiling!
|
;; ;; Save Org buffers after refiling!
|
||||||
(advice-add 'org-refile :after 'org-save-all-org-buffers)
|
;; (advice-add 'org-refile :after 'org-save-all-org-buffers)
|
||||||
|
|
||||||
(setq org-tag-alist
|
;; ;; Org Tags
|
||||||
'((:startgroup)
|
;; (setq org-tag-alist
|
||||||
; Put mutually exclusive tags here
|
;; '((:startgroup)
|
||||||
(:endgroup)
|
;; ; Put mutually exclusive tags here
|
||||||
("@errand" . ?E)
|
;; (:endgroup)
|
||||||
("@home" . ?H)
|
;; ("@errand" . ?E)
|
||||||
("@work" . ?W)
|
;; ("@home" . ?H)
|
||||||
("agenda" . ?a)
|
;; ("@work" . ?W)
|
||||||
("planning" . ?p)
|
;; ("agenda" . ?a)
|
||||||
("publish" . ?P)
|
;; ("planning" . ?p)
|
||||||
("batch" . ?b)
|
;; ("publish" . ?P)
|
||||||
("note" . ?n)
|
;; ("batch" . ?b)
|
||||||
("idea" . ?i)))
|
;; ("note" . ?n)
|
||||||
|
;; ("idea" . ?i)))
|
||||||
|
|
||||||
;; Configure custom agenda views
|
;; Configure custom agenda views
|
||||||
(setq org-agenda-custom-commands
|
(setq org-agenda-custom-commands
|
||||||
@@ -397,13 +420,13 @@ Use Hydra to design a transient key binding for quickly adjusting the scale of t
|
|||||||
((todo "NEXT"
|
((todo "NEXT"
|
||||||
((org-agenda-overriding-header "Next Tasks")))))
|
((org-agenda-overriding-header "Next Tasks")))))
|
||||||
|
|
||||||
("W" "Work Tasks" tags-todo "+work-email")
|
;; ("W" "Work Tasks" tags-todo "+work-email")
|
||||||
|
|
||||||
;; Low-effort next actions
|
;; ;; Low-effort next actions
|
||||||
("e" tags-todo "+TODO=\"NEXT\"+Effort<15&+Effort>0"
|
;; ("e" tags-todo "+TODO=\"NEXT\"+Effort<15&+Effort>0"
|
||||||
((org-agenda-overriding-header "Low Effort Tasks")
|
;; ((org-agenda-overriding-header "Low Effort Tasks")
|
||||||
(org-agenda-max-todos 20)
|
;; (org-agenda-max-todos 20)
|
||||||
(org-agenda-files org-agenda-files)))
|
;; (org-agenda-files org-agenda-files)))
|
||||||
|
|
||||||
("w" "Workflow Status"
|
("w" "Workflow Status"
|
||||||
((todo "WAIT"
|
((todo "WAIT"
|
||||||
@@ -433,39 +456,43 @@ Use Hydra to design a transient key binding for quickly adjusting the scale of t
|
|||||||
((org-agenda-overriding-header "Cancelled Projects")
|
((org-agenda-overriding-header "Cancelled Projects")
|
||||||
(org-agenda-files org-agenda-files)))))))
|
(org-agenda-files org-agenda-files)))))))
|
||||||
|
|
||||||
|
;; Org Capture Templates
|
||||||
(setq org-capture-templates
|
(setq org-capture-templates
|
||||||
`(("t" "Tasks / Projects")
|
`(("t" "Tasks / Projects")
|
||||||
("tt" "Task" entry (file+olp "~/Projects/Code/emacs-from-scratch/OrgFiles/Tasks.org" "Inbox")
|
("tt" "Task" entry (file+olp "~/OrgFiles/Tasks.org" "Inbox")
|
||||||
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
|
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
|
||||||
|
|
||||||
("j" "Journal Entries")
|
("j" "Journal Entries")
|
||||||
("jj" "Journal" entry
|
("jj" "Journal" entry
|
||||||
(file+olp+datetree "~/Projects/Code/emacs-from-scratch/OrgFiles/Journal.org")
|
(file+olp+datetree "~/OrgFiles/Journal.org")
|
||||||
"\n* %<%I:%M %p> - Journal :journal:\n\n%?\n\n"
|
"\n* %<%I:%M %p> - Journal :journal:\n\n%?\n\n"
|
||||||
;; ,(dw/read-file-as-string "~/Notes/Templates/Daily.org")
|
;; ,(dw/read-file-as-string "~/Notes/Templates/Daily.org")
|
||||||
:clock-in :clock-resume
|
:clock-in :clock-resume
|
||||||
:empty-lines 1)
|
:empty-lines 1)
|
||||||
("jm" "Meeting" entry
|
("jm" "Meeting" entry
|
||||||
(file+olp+datetree "~/Projects/Code/emacs-from-scratch/OrgFiles/Journal.org")
|
(file+olp+datetree "~/OrgFiles/Journal.org")
|
||||||
"* %<%I:%M %p> - %a :meetings:\n\n%?\n\n"
|
"* %<%I:%M %p> - %a :meetings:\n\n%?\n\n"
|
||||||
:clock-in :clock-resume
|
:clock-in :clock-resume
|
||||||
:empty-lines 1)
|
:empty-lines 1)
|
||||||
|
|
||||||
("w" "Workflows")
|
;; ("w" "Workflows")
|
||||||
("we" "Checking Email" entry (file+olp+datetree "~/Projects/Code/emacs-from-scratch/OrgFiles/Journal.org")
|
;; ("we" "Checking Email" entry (file+olp+datetree "~/OrgFiles/Journal.org")
|
||||||
"* Checking Email :email:\n\n%?" :clock-in :clock-resume :empty-lines 1)
|
;; "* Checking Email :email:\n\n%?" :clock-in :clock-resume :empty-lines 1)
|
||||||
|
|
||||||
("m" "Metrics Capture")
|
;; ("m" "Metrics Capture")
|
||||||
("mw" "Weight" table-line (file+headline "~/Projects/Code/emacs-from-scratch/OrgFiles/Metrics.org" "Weight")
|
;; ("mw" "Weight" table-line (file+headline "~/OrgFiles/Metrics.org" "Weight")
|
||||||
"| %U | %^{Weight} | %^{Notes} |" :kill-buffer t)))
|
;; "| %U | %^{Weight} | %^{Notes} |" :kill-buffer t)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
(define-key global-map (kbd "C-c j")
|
;; ;; Keybinding for going directly to journal entry
|
||||||
(lambda () (interactive) (org-capture nil "jj")))
|
;; (define-key global-map (kbd "C-c j")
|
||||||
|
;; (lambda () (interactive) (org-capture nil "jj")))
|
||||||
|
|
||||||
(sb/org-font-setup))
|
(sb/org-font-setup))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Nicer Heading Bullets
|
** Heading Bullets
|
||||||
|
|
||||||
#+begin_src emacs-lisp :tangle init.el
|
#+begin_src emacs-lisp :tangle init.el
|
||||||
(use-package org-bullets
|
(use-package org-bullets
|
||||||
@@ -475,7 +502,7 @@ Use Hydra to design a transient key binding for quickly adjusting the scale of t
|
|||||||
(org-bullets-bullet-list '("◉" "○" "●" "○" "●" "○" "●")))
|
(org-bullets-bullet-list '("◉" "○" "●" "○" "●" "○" "●")))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Center Org Buffers
|
** Center Org Buffers
|
||||||
|
|
||||||
*NOT IN USE*
|
*NOT IN USE*
|
||||||
#+begin_src emacs-lisp :tangle no
|
#+begin_src emacs-lisp :tangle no
|
||||||
@@ -509,6 +536,7 @@ Use Hydra to design a transient key binding for quickly adjusting the scale of t
|
|||||||
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
||||||
(add-to-list 'org-structure-template-alist '("py" . "src python"))
|
(add-to-list 'org-structure-template-alist '("py" . "src python"))
|
||||||
(add-to-list 'org-structure-template-alist '("hs" . "src haskell"))
|
(add-to-list 'org-structure-template-alist '("hs" . "src haskell"))
|
||||||
|
(add-to-list 'org-structure-template-alist '("cf" . "src config"))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Auto-Tangle
|
** Auto-Tangle
|
||||||
|
126
init.el
126
init.el
@@ -1,7 +1,12 @@
|
|||||||
|
;; Font Sizes
|
||||||
(defvar sb/default-font-size 110)
|
(defvar sb/default-font-size 110)
|
||||||
(defvar sb/default-variable-font-size 110)
|
(defvar sb/default-variable-font-size 110)
|
||||||
(defvar sb/modeline-height 10)
|
(defvar sb/modeline-height 10)
|
||||||
|
|
||||||
|
;; Font Names
|
||||||
|
(defvar sb/source-code-font "FiraCode Nerd Font")
|
||||||
|
(defvar sb/document-font "Cantarell")
|
||||||
|
|
||||||
;; Initialize package sources
|
;; Initialize package sources
|
||||||
(require 'package)
|
(require 'package)
|
||||||
|
|
||||||
@@ -42,13 +47,14 @@
|
|||||||
eshell-mode-hook))
|
eshell-mode-hook))
|
||||||
(add-hook mode (lambda () (display-line-numbers-mode 0))))
|
(add-hook mode (lambda () (display-line-numbers-mode 0))))
|
||||||
|
|
||||||
(set-face-attribute 'default nil :font "FiraCode Nerd Font" :height sb/default-font-size)
|
;; Set the default font
|
||||||
|
(set-face-attribute 'default nil :font sb/source-code-font :height sb/default-font-size)
|
||||||
|
|
||||||
;; Set the fixed pitch face
|
;; Set the fixed pitch font
|
||||||
(set-face-attribute 'fixed-pitch nil :font "FiraCode Nerd Font" :height sb/default-font-size)
|
(set-face-attribute 'fixed-pitch nil :font sb/source-code-font :height sb/default-font-size)
|
||||||
|
|
||||||
;; Set the variable pitch face
|
;; Set the variable pitch font
|
||||||
(set-face-attribute 'variable-pitch nil :font "Cantarell" :height sb/default-font-size :weight 'regular)
|
(set-face-attribute 'variable-pitch nil :font sb/document-font :height sb/default-font-size :weight 'regular)
|
||||||
|
|
||||||
(use-package ligature
|
(use-package ligature
|
||||||
:load-path "./packages/ligature.el"
|
:load-path "./packages/ligature.el"
|
||||||
@@ -85,9 +91,14 @@
|
|||||||
:global-prefix "C-SPC")
|
:global-prefix "C-SPC")
|
||||||
|
|
||||||
(sb/leader-keys
|
(sb/leader-keys
|
||||||
|
"o" '(:ignore t :which-key "org-mode quick access")
|
||||||
|
"oa" '(org-agenda :which-key "org agenda")
|
||||||
|
"oc" '(org-capture :which-key "org capture")
|
||||||
;; "t" '(:ignore t :which-key "toggles")
|
;; "t" '(:ignore t :which-key "toggles")
|
||||||
;; "tc" '(comment-line :which-key "toggle comment")
|
;; "tc" '(comment-line :which-key "toggle comment")
|
||||||
"s" '(:ignore s :which-key "settings")))
|
"s" '(:ignore s :which-key "settings")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
(general-define-key
|
(general-define-key
|
||||||
"C-M-j" 'counsel-switch-buffer
|
"C-M-j" 'counsel-switch-buffer
|
||||||
@@ -207,10 +218,10 @@
|
|||||||
"ss" '(hydra-text-scale/body :which-key "scale text"))
|
"ss" '(hydra-text-scale/body :which-key "scale text"))
|
||||||
|
|
||||||
(defun sb/org-font-setup ()
|
(defun sb/org-font-setup ()
|
||||||
;; Replace list hyphen with dot
|
;; ;; Replace list hyphen with dot
|
||||||
(font-lock-add-keywords 'org-mode
|
;; (font-lock-add-keywords 'org-mode
|
||||||
'(("^ *\\([-]\\) "
|
;; '(("^ *\\([-]\\) "
|
||||||
(0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•"))))))
|
;; (0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•"))))))
|
||||||
|
|
||||||
;; Set faces for heading levels
|
;; Set faces for heading levels
|
||||||
(dolist (face '((org-level-1 . 1.2)
|
(dolist (face '((org-level-1 . 1.2)
|
||||||
@@ -235,50 +246,62 @@
|
|||||||
(defun sb/org-mode-setup ()
|
(defun sb/org-mode-setup ()
|
||||||
(org-indent-mode)
|
(org-indent-mode)
|
||||||
(variable-pitch-mode 1)
|
(variable-pitch-mode 1)
|
||||||
(visual-line-mode 1))
|
(auto-fill-mode 0)
|
||||||
|
(visual-line-mode 1)
|
||||||
|
(setq evil-auto-indent nil))
|
||||||
|
|
||||||
(use-package org
|
(use-package org
|
||||||
:hook (org-mode . sb/org-mode-setup)
|
:hook (org-mode . sb/org-mode-setup)
|
||||||
:config
|
:config
|
||||||
|
;; Change elipsis to down arrow
|
||||||
(setq org-ellipsis " ▾")
|
(setq org-ellipsis " ▾")
|
||||||
|
|
||||||
|
;; Org Agenda Settings
|
||||||
(setq org-agenda-start-with-log-mode t)
|
(setq org-agenda-start-with-log-mode t)
|
||||||
(setq org-log-done 'time)
|
(setq org-log-done 'time)
|
||||||
(setq org-log-into-drawer t)
|
(setq org-log-into-drawer t)
|
||||||
|
|
||||||
|
;; Org Agenda Files
|
||||||
(setq org-agenda-files
|
(setq org-agenda-files
|
||||||
'("~/Projects/Code/emacs-from-scratch/OrgFiles/Tasks.org"
|
'(
|
||||||
"~/Projects/Code/emacs-from-scratch/OrgFiles/Habits.org"
|
"~/OrgFiles/Tasks.org"
|
||||||
"~/Projects/Code/emacs-from-scratch/OrgFiles/Birthdays.org"))
|
;; "~/OrgFiles/Habits.org"
|
||||||
|
;; "~/OrgFiles/Birthdays.org"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
;; Org Habit Tracker
|
||||||
(require 'org-habit)
|
(require 'org-habit)
|
||||||
(add-to-list 'org-modules 'org-habit)
|
(add-to-list 'org-modules 'org-habit)
|
||||||
(setq org-habit-graph-column 60)
|
(setq org-habit-graph-column 60)
|
||||||
|
|
||||||
|
;; Org TODO Keywords
|
||||||
(setq org-todo-keywords
|
(setq org-todo-keywords
|
||||||
'((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)")
|
'((sequence "TODO(t)" "NEXT(n)" "|" "DONE(d!)")
|
||||||
(sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)" "REVIEW(v)" "WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANC(k@)")))
|
(sequence "BACKLOG(b)" "PLAN(p)" "READY(r)" "ACTIVE(a)" "REVIEW(v)" "WAIT(w@/!)" "HOLD(h)" "|" "COMPLETED(c)" "CANC(k@)")))
|
||||||
|
|
||||||
(setq org-refile-targets
|
;; ;; Move tasks between documents
|
||||||
'(("Archive.org" :maxlevel . 1)
|
;; (setq org-refile-targets
|
||||||
("Tasks.org" :maxlevel . 1)))
|
;; '(("Archive.org" :maxlevel . 1)
|
||||||
|
;; ("Tasks.org" :maxlevel . 1)))
|
||||||
|
|
||||||
;; Save Org buffers after refiling!
|
;; ;; Save Org buffers after refiling!
|
||||||
(advice-add 'org-refile :after 'org-save-all-org-buffers)
|
;; (advice-add 'org-refile :after 'org-save-all-org-buffers)
|
||||||
|
|
||||||
(setq org-tag-alist
|
;; ;; Org Tags
|
||||||
'((:startgroup)
|
;; (setq org-tag-alist
|
||||||
; Put mutually exclusive tags here
|
;; '((:startgroup)
|
||||||
(:endgroup)
|
;; ; Put mutually exclusive tags here
|
||||||
("@errand" . ?E)
|
;; (:endgroup)
|
||||||
("@home" . ?H)
|
;; ("@errand" . ?E)
|
||||||
("@work" . ?W)
|
;; ("@home" . ?H)
|
||||||
("agenda" . ?a)
|
;; ("@work" . ?W)
|
||||||
("planning" . ?p)
|
;; ("agenda" . ?a)
|
||||||
("publish" . ?P)
|
;; ("planning" . ?p)
|
||||||
("batch" . ?b)
|
;; ("publish" . ?P)
|
||||||
("note" . ?n)
|
;; ("batch" . ?b)
|
||||||
("idea" . ?i)))
|
;; ("note" . ?n)
|
||||||
|
;; ("idea" . ?i)))
|
||||||
|
|
||||||
;; Configure custom agenda views
|
;; Configure custom agenda views
|
||||||
(setq org-agenda-custom-commands
|
(setq org-agenda-custom-commands
|
||||||
@@ -292,13 +315,13 @@
|
|||||||
((todo "NEXT"
|
((todo "NEXT"
|
||||||
((org-agenda-overriding-header "Next Tasks")))))
|
((org-agenda-overriding-header "Next Tasks")))))
|
||||||
|
|
||||||
("W" "Work Tasks" tags-todo "+work-email")
|
;; ("W" "Work Tasks" tags-todo "+work-email")
|
||||||
|
|
||||||
;; Low-effort next actions
|
;; ;; Low-effort next actions
|
||||||
("e" tags-todo "+TODO=\"NEXT\"+Effort<15&+Effort>0"
|
;; ("e" tags-todo "+TODO=\"NEXT\"+Effort<15&+Effort>0"
|
||||||
((org-agenda-overriding-header "Low Effort Tasks")
|
;; ((org-agenda-overriding-header "Low Effort Tasks")
|
||||||
(org-agenda-max-todos 20)
|
;; (org-agenda-max-todos 20)
|
||||||
(org-agenda-files org-agenda-files)))
|
;; (org-agenda-files org-agenda-files)))
|
||||||
|
|
||||||
("w" "Workflow Status"
|
("w" "Workflow Status"
|
||||||
((todo "WAIT"
|
((todo "WAIT"
|
||||||
@@ -328,34 +351,38 @@
|
|||||||
((org-agenda-overriding-header "Cancelled Projects")
|
((org-agenda-overriding-header "Cancelled Projects")
|
||||||
(org-agenda-files org-agenda-files)))))))
|
(org-agenda-files org-agenda-files)))))))
|
||||||
|
|
||||||
|
;; Org Capture Templates
|
||||||
(setq org-capture-templates
|
(setq org-capture-templates
|
||||||
`(("t" "Tasks / Projects")
|
`(("t" "Tasks / Projects")
|
||||||
("tt" "Task" entry (file+olp "~/Projects/Code/emacs-from-scratch/OrgFiles/Tasks.org" "Inbox")
|
("tt" "Task" entry (file+olp "~/OrgFiles/Tasks.org" "Inbox")
|
||||||
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
|
"* TODO %?\n %U\n %a\n %i" :empty-lines 1)
|
||||||
|
|
||||||
("j" "Journal Entries")
|
("j" "Journal Entries")
|
||||||
("jj" "Journal" entry
|
("jj" "Journal" entry
|
||||||
(file+olp+datetree "~/Projects/Code/emacs-from-scratch/OrgFiles/Journal.org")
|
(file+olp+datetree "~/OrgFiles/Journal.org")
|
||||||
"\n* %<%I:%M %p> - Journal :journal:\n\n%?\n\n"
|
"\n* %<%I:%M %p> - Journal :journal:\n\n%?\n\n"
|
||||||
;; ,(dw/read-file-as-string "~/Notes/Templates/Daily.org")
|
;; ,(dw/read-file-as-string "~/Notes/Templates/Daily.org")
|
||||||
:clock-in :clock-resume
|
:clock-in :clock-resume
|
||||||
:empty-lines 1)
|
:empty-lines 1)
|
||||||
("jm" "Meeting" entry
|
("jm" "Meeting" entry
|
||||||
(file+olp+datetree "~/Projects/Code/emacs-from-scratch/OrgFiles/Journal.org")
|
(file+olp+datetree "~/OrgFiles/Journal.org")
|
||||||
"* %<%I:%M %p> - %a :meetings:\n\n%?\n\n"
|
"* %<%I:%M %p> - %a :meetings:\n\n%?\n\n"
|
||||||
:clock-in :clock-resume
|
:clock-in :clock-resume
|
||||||
:empty-lines 1)
|
:empty-lines 1)
|
||||||
|
|
||||||
("w" "Workflows")
|
;; ("w" "Workflows")
|
||||||
("we" "Checking Email" entry (file+olp+datetree "~/Projects/Code/emacs-from-scratch/OrgFiles/Journal.org")
|
;; ("we" "Checking Email" entry (file+olp+datetree "~/OrgFiles/Journal.org")
|
||||||
"* Checking Email :email:\n\n%?" :clock-in :clock-resume :empty-lines 1)
|
;; "* Checking Email :email:\n\n%?" :clock-in :clock-resume :empty-lines 1)
|
||||||
|
|
||||||
("m" "Metrics Capture")
|
;; ("m" "Metrics Capture")
|
||||||
("mw" "Weight" table-line (file+headline "~/Projects/Code/emacs-from-scratch/OrgFiles/Metrics.org" "Weight")
|
;; ("mw" "Weight" table-line (file+headline "~/OrgFiles/Metrics.org" "Weight")
|
||||||
"| %U | %^{Weight} | %^{Notes} |" :kill-buffer t)))
|
;; "| %U | %^{Weight} | %^{Notes} |" :kill-buffer t)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
(define-key global-map (kbd "C-c j")
|
;; ;; Keybinding for going directly to journal entry
|
||||||
(lambda () (interactive) (org-capture nil "jj")))
|
;; (define-key global-map (kbd "C-c j")
|
||||||
|
;; (lambda () (interactive) (org-capture nil "jj")))
|
||||||
|
|
||||||
(sb/org-font-setup))
|
(sb/org-font-setup))
|
||||||
|
|
||||||
@@ -379,6 +406,7 @@
|
|||||||
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
|
||||||
(add-to-list 'org-structure-template-alist '("py" . "src python"))
|
(add-to-list 'org-structure-template-alist '("py" . "src python"))
|
||||||
(add-to-list 'org-structure-template-alist '("hs" . "src haskell"))
|
(add-to-list 'org-structure-template-alist '("hs" . "src haskell"))
|
||||||
|
(add-to-list 'org-structure-template-alist '("cf" . "src config"))
|
||||||
|
|
||||||
(use-package org-auto-tangle
|
(use-package org-auto-tangle
|
||||||
:defer t
|
:defer t
|
||||||
|
Reference in New Issue
Block a user