;;; org-mode.el --- org-mode customizations -*- lexical-binding: t -*- ;; Author: Andrew Scott ;; Keywords: org, convenience, tools ;; URL: https://codeberg.org/andyscott/dotfiles ;; This file is not part of GNU Emacs ;; Copyright (c) 2024 Andrew Scott ;; MIT No Attribution ;; Permission is hereby granted, free of charge, to any person obtaining a copy of this ;; software and associated documentation files (the "Software"), to deal in the Software ;; without restriction, including without limitation the rights to use, copy, modify, ;; merge, publish, distribute, sublicense, and/or sell copies of the Software, and to ;; permit persons to whom the Software is furnished to do so. ;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, ;; INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A ;; PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT ;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION ;; OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ;;; Commentary: ;; My org-mode customizations. ;;; Code: (use-package org :bind (:map global-map ("C-c a" . org-agenda) ("C-c c" . org-capture) ("C-c l" . org-store-link)) :config (setopt org-agenda-files (list (concat org-directory "/personal") (concat org-directory "/projects") (concat org-directory "/work")) org-hide-emphasis-markers t org-log-done 'time org-return-follows-link t org-todo-keywords '((sequence "TODO(t)" "IN-PROGRESS(i@/!)" "|" "DONE(d!)" "BLOCKED(b@)" "WONT-DO(w@/!)" )) org-todo-keyword-faces '(("TODO" . (icon-button)) ("IN-PROGRESS" . (tool-bar)) ("BLOCKED" . (match)) ("WONT-DO" . (org-done)))) (setopt org-capture-templates `( ("m" "Personal") ("mj" "Log Entry" entry (file+datetree ,(concat org-directory "/personal/log.org")) "* %?" :empty-lines 1) ("mn" "Note" entry (file+headline ,(concat org-directory "/personal/notes.org") "Note to self...") "* %?" :empty-lines 1) ("mt" "Todo" entry (file+headline ,(concat org-directory "/personal/todo.org") "Personal Tasks") "* TODO [#B] %?\n:Created: %T\n " :empty-lines 1) ("p" "Projects") ("pn" "Note" entry (file+headline ,(concat org-directory "/projects/notes.org") "Project Notes") "** %?" :empty-lines 1) ("pt" "Todo" entry (file+headline ,(concat org-directory "/projects/todo.org") "Project Tasks") "* TODO [#B] %?\n:Created: %T\n%i\n%a\nNotes: " :empty-lines 0) ("w" "Work") ("wn" "Note" entry (file+headline "~/Nextcloud/Documents/org/work/notes.org" "Work notes") "** %?" :empty-lines 0) ("wt" "Todo" entry (file+headline "~/Nextcloud/Documents/org/work/todo.org" "Work tasks") "* TODO [#B] %?\n:Created: %T\n%i\n%a\nNotes: " :empty-lines 0))) :hook (org-mode . org-indent-mode) :init (setopt org-directory "~/Nextcloud/Documents/org") ;; (bind-keys :prefix-map as/org-prefix-map ;; :prefix "C-c o" ;; ("d" . org-priority-down) ;; ("u" . org-priority-up) ;; ("r" . org-shiftmetaright) ;; ("l" . org-shiftmetaleft)) ) (provide 'init-org) ;;; org-mode.el ends here