flakes/notetaking/modules/my-org.el
Tibo De Peuter 6c66abf88d
notetaking/flake.lock: Add
Flake lock file updates:

• Added input 'flake-utils':
    'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b?narHash=sha256-l0KFg5HjrsfsO/JpG%2Br7fRrqm12kzFHyUHqHCVpMMbI%3D' (2024-11-13)
• Added input 'flake-utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e?narHash=sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768%3D' (2023-04-09)
• Added input 'nixpkgs':
    'github:NixOS/nixpkgs/64c08a7ca051951c8eae34e3e3cb1e202fe36786?narHash=sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o%3D' (2026-05-23)
2026-05-31 12:52:52 +02:00

124 lines
3.9 KiB
EmacsLisp

;; -*- lexical-binding: t; -*-
(defvar my-org-roam-base-dir (file-truename "~/Nextcloud/Documenten/Persoonlijk/org-roam")
"Base directory for Org-roam and related assets.")
(make-directory (expand-file-name "assets" my-org-roam-base-dir) t)
(make-directory (expand-file-name "dailies" my-org-roam-base-dir) t)
(make-directory (expand-file-name "notes" my-org-roam-base-dir) t)
;; Display rules
(add-to-list 'display-buffer-alist
'("\\.pdf'"
(display-buffer-in-direction)
(direction . left)
(window-width . 0.5))) ;; Force PDF to left half
;; Knowledge
(use-package org
:init
(add-hook 'org-mode-hook 'visual-line-mode) ;; Make text wrap in org mode
(add-hook 'org-mode-hook (lambda () (display-line-numbers-mode -1))) ;; Hide line numbers in org mode
:custom
(org-hide-emphasis-markers t) ;; Required for org-appear to work
(org-pretty-entities t)
(org-image-actual-width nil) ;; Allows resizing images
(org-link-window-setup 'current-window) ;; Force links to open in the current window
(org-startup-folded 'showall) ;; https://orgmode.org/manual/Initial-visibility.html
:config
(setq org-latex-compiler "lualatex")
(setq org-link-frame-setup
'((vm . vm-visit-folder-other-frame)
(vm-mail . vm-mail-other-frame)
(gnus . org-gnus-no-new-news)
(file . find-file)
(wl . wl-other-frame)))
(setq org-todo-keywords
'((sequence "TODO" "DOING" "|" "DONE" "SKIPPED")))
) ;; TODO How to configure keybinds from below?
;; Keybinds
;(global-set-key (kbd "C-c a") #'org-agenda)
;(global-set-key (kbd "C-c c") #'org-capture)
(use-package org-roam
:ensure t
:custom
(org-roam-directory my-org-roam-base-dir)
(org-roam-dailies-directory "dailies/")
(org-roam-completion-everywhere t)
:bind (
("C-c r f" . org-roam-node-find)
("C-c r j" . org-roam-dailies-capture-today)
("C-c r t" . org-roam-dailies-goto-today)
)
:init
(setq org-roam-mode-sections ;; https://www.orgroam.com/manual.html#Configuring-what-is-displayed-in-the-buffer-1
(list #'org-roam-backlinks-section
#'org-roam-reflinks-section
#'org-roam-unlinked-references-section
)
)
:config
(org-roam-setup)
(org-roam-db-autosync-mode)
(setq org-roam-capture-templates
'(("d" "default" plan "%?"
:target (file+head "notes/%<%Y%m%d%H%M%S>-${slug}.org"
"#+title: ${title}\n")
:unnarrowed t))
)
(add-to-list 'display-buffer-alist
'("\\*org-roam\\*"
(display-buffer-in-direction)
(direction . right)
(window-width . 0.33)
(window-height . fit-window-to-buffer)
)
) ;; Open backlinks on the right.
)
(use-package org-download
:ensure t
:after org
:custom
(org-download-method 'directory)
(org-download-image-dir (expand-file-name "assets" my-org-roam-base-dir))
(org-download-heading-lvl nil)
(org-download-timestamp "org_%Y%m%d-%H%M%S_")
(org-startup-with-inline-images t)
:bind
("C-c i" . org-download-clipboard)
)
;; Prettifying
;(use-package org-appear
;:ensure t
;:hook (org-mode . org-appear-mode))
;(use-package org-fragtog
;:ensure t
;:hook (org-mode . org-fragtog-mode))
(use-package org-appear
:ensure t
:hook (org-mode . org-appear-mode)
:custom
(org-appear-trigger 'manual)
:config
(add-hook 'org-mode-hook
(lambda ()
(add-hook 'evil-insert-state-entry-hook #'org-appear-manual-start nil t)
(add-hook 'evil-insert-state-exit-hook #'org-appear-manual-stop nil t))))
(use-package org-fragtog
:ensure t
:hook (org-mode . org-fragtog-mode)
:config
(add-hook 'org-mode-hook
(lambda ()
(add-hook 'evil-insert-state-entry-hook (lambda () (org-fragtog-mode -1)) nil t)
(add-hook 'evil-insert-state-exit-hook (lambda () (org-fragtog-mode 1)) nil t))))