reorganize org-mode configuration

This commit is contained in:
Peter Tillemans 2025-08-04 12:21:46 +02:00
parent 5952248b83
commit 8d6c84b9bd

161
init.org
View file

@ -208,7 +208,7 @@ then load it.
#+END_SRC
#+RESULTS:
: [nil 26760 24522 367252 nil elpaca-process-queues nil nil 826000 nil]
: [nil 26768 31512 287826 nil elpaca-process-queues nil nil 20000 nil]
*** Wait for initial installations
@ -1916,24 +1916,82 @@ templates to be generated. By default it uses
** Org Mode
*** Configure Org Mode
*** Org Configuration
#+BEGIN_SRC emacs-lisp
(use-package org-mode
(use-package org
:mode "\\.org$"
:ensure nil
:after org
:custom
(org-return-follows-link t)
(org-mouse-1-follows-link t)
(org-link-descriptive t)
(org-agenda-skip-scheduled-if-done t)
(org-agenda-skip-deadline-if-done t)
(org-hide-emphasis-markers t)
(line-spacing 0.1)
(left-margin-width 2)
(right-margin-width 2)
(org-todo-keywords '((sequence "TODO(t)" "NEXT(n)" "WAITING(w)" "SOMEDAY(s)" "PROJ(p)"
"|" "DONE(d)" "CANCELED(c)")))
(org-todo-keywords-for-agenda '((sequence "NEXT(n)" "TODO(t)" "WAITING(w)" "SOMEDAY(s)" "PROJ(p)" "|" "DONE(d)" "CANCELED(c)")))
(org-agenda-files (list
"~/Nextcloud/org/"
"~/org/snamellit/"
"~/org/customer/"
"~/org/personal/"
"~/.org-jira/"
))
(org-refile-targets '(
(org-agenda-files . (:level . 1))
("~/org/customer/gtd.org" . (:level . 1))
("~/org/personal/bijen.org" . (:level . 1))
("~/org/personal/fitness.org" . (:level . 1))
))
(org-babel-load-languages '((emacs-lisp . t)
(shell . t)
(python . t)
(latex . t)
(scheme . t)
(plantuml . t)
(dot . t)))
:config
(progn
(setq org-log-done 'time)
(setq org-confirm-babel-evaluate nil)
(setq org-export-babel-evaluate nil)
(setq org-html-validation-link nil)
;; ... more stuff
)
)
(message "Configuring org mode")
;; set files for agenda views
(setq +org-capture-todo-file "~/Nextcloud/org/inbox.org"
+org-capture-notes-file "~/Nextcloud/org/inbox.org"
+org-capture-journal-file "~/Nextcloud/org/journal.org"
+org-capture-projects-file "~/Nextcloud/org/projects.org")
(org-babel-do-load-languages 'org-babel-load-languages org-babel-load-languages)
(setq org-log-done 'time)
(setq org-confirm-babel-evaluate nil)
(setq org-export-babel-evaluate nil)
(setq org-html-validation-link nil)
:hook (
(org-mode . org-indent-mode)
)
:bind (
("C-c a" . org-agenda)
("C-c l" . org-store-link)
))
#+END_SRC
#+RESULTS:
: org-store-link
*** Add org-contrib
Some modules are providedd by org-contrib, like exporting to
confluence
#+BEGIN_SRC emacs-lisp
(use-package org-contrib
:ensure t)
#+END_SRC
*** Mixed Pitch Support by Default in Org
#+BEGIN_SRC emacs-lisp
(defun snm-org-mode-config ()
@ -1942,6 +2000,7 @@ templates to be generated. By default it uses
(visual-line-mode)
(turn-on-auto-fill)
)
(add-hook 'org-mode-hook #'snm-org-mode-config)
(use-package org-bullets
:ensure t
@ -2047,6 +2106,7 @@ interactive to manually install the latest version if needed.
#+BEGIN_SRC emacs-lisp :tangle yes
;; configure babel languages
(use-package ob
:ensure nil
:custom
(org-babel-load-languages '((emacs-lisp . t)
(shell . t)
@ -2209,14 +2269,6 @@ it in the same context. Hmmm.... sounds even better.
#+END_SRC
**** Export to Confluence
#+BEGIN_SRC emacs-lisp
(use-package org-contrib
:ensure t)
#+END_SRC
#+RESULTS:
: [nil 26576 2769 688869 nil elpaca-process-queues nil nil 120000 nil]
#+BEGIN_SRC emacs-lisp
(use-package ox-confluence
:after org-contrib
@ -2507,66 +2559,21 @@ the org tree and in the customer JIRA.
| w | Weekly Review | ((agenda ((org-agenda-overriding-header Completed Tasks) (org-agenda-skip-function (org-agenda-skip-entry-if 'nottodo 'done)) (org-agenda-span 'week))) (agenda ((org-agenda-overriding-header Unfinished Scheduled Tasks) (org-agenda-skip-function (org-agenda-skip-entry-if 'todo 'done)) (org-agenda-span 'week)))) |
*** Org Configuration
#+BEGIN_SRC emacs-lisp
(use-package org
:ensure nil
:demand t
:custom
(org-return-follows-link t)
(org-mouse-1-follows-link t)
(org-link-descriptive t)
(org-agenda-skip-scheduled-if-done t)
(org-agenda-skip-deadline-if-done t)
(org-hide-emphasis-markers t)
(line-spacing 0.1)
(left-margin-width 2)
(right-margin-width 2)
(org-todo-keywords '((sequence "TODO(t)" "NEXT(n)" "WAITING(w)" "SOMEDAY(s)" "PROJ(p)"
"|" "DONE(d)" "CANCELED(c)")))
(org-todo-keywords-for-agenda '((sequence "NEXT(n)" "TODO(t)" "WAITING(w)" "SOMEDAY(s)" "PROJ(p)" "|" "DONE(d)" "CANCELED(c)")))
(org-agenda-files (list
"~/Nextcloud/org/"
"~/org/snamellit/"
"~/org/customer/"
"~/org/personal/"
"~/.org-jira/"
))
(org-refile-targets '(
(org-agenda-files . (:level . 1))
("~/org/customer/gtd.org" . (:level . 1))
("~/org/personal/bijen.org" . (:level . 1))
("~/org/personal/fitness.org" . (:level . 1))
))
(org-babel-load-languages '((emacs-lisp . t)
(shell . t)
(python . t)
(latex . t)
(scheme . t)
(plantuml . t)
(dot . t)))
:config
(message "Configuring org mode")
;; set files for agenda views
(setq +org-capture-todo-file "~/Nextcloud/org/inbox.org"
+org-capture-notes-file "~/Nextcloud/org/inbox.org"
+org-capture-journal-file "~/Nextcloud/org/journal.org"
+org-capture-projects-file "~/Nextcloud/org/projects.org")
(org-babel-do-load-languages 'org-babel-load-languages org-babel-load-languages)
:hook (
(org-mode . snm-org-mode-config)
(org-mode . org-indent-mode)
)
:bind (
("C-c a" . org-agenda)
("C-c l" . org-store-link)
))
**** Context aware GTD
Create agenda views for specific contexts
#+BEGIN_SRC emacs-lisp
(add-to-list 'org-agenda-custom-commands '("b" "Busy Bees" ((tags-todo "+bees"))))
#+END_SRC
#+RESULTS:
: org-store-link
| b | Busy Bees | ((tags-todo +bees)) |
| G | Customer GTD | ((alltodo .* ((org-agenda-files '(~/org/customer/ ~/.org-jira/)) (org-agenda-overriding-header Customer GTD)))) |
| w | Weekly Review | ((agenda ((org-agenda-overriding-header Completed Tasks) (org-agenda-skip-function (org-agenda-skip-entry-if 'nottodo 'done)) (org-agenda-span 'week))) (agenda ((org-agenda-overriding-header Unfinished Scheduled Tasks) (org-agenda-skip-function (org-agenda-skip-entry-if 'todo 'done)) (org-agenda-span 'week)))) |
** Denote
#+BEGIN_SRC emacs-lisp