113 lines
3.3 KiB
EmacsLisp
113 lines
3.3 KiB
EmacsLisp
;;; +org.el -*- lexical-binding: t; -*-
|
|
(require 'org)
|
|
|
|
(custom-set-variables '(org-directory "~/org/"))
|
|
|
|
(defvar +org-capture-work-todo-file "work/todo.org"
|
|
"location for my work todo list.
|
|
|
|
This is defined relative to the `org-directory' unless absolute.")
|
|
|
|
(defun +org-capture-work-todo-file ()
|
|
"Expand `+org-capture-work-todo-file' from `org-directory'.
|
|
If it is an absolute path return `+org-capture-work-todo-file' verbatim."
|
|
(expand-file-name +org-capture-work-todo-file org-directory))
|
|
|
|
|
|
(setq
|
|
deft-directory org-directory
|
|
org-download-image-dir (concat org-directory "resources")
|
|
org-roam-directory org-directory)
|
|
|
|
(setq org-agenda-files (list
|
|
(concat org-directory +org-capture-work-todo-file )
|
|
;;(concat org-directory "todo.org")
|
|
)
|
|
)
|
|
;(org-agenda-files (file-expand-wildcards (concat org-directory "*". )"~/ref/*.org")
|
|
;; Automatically Scan normal locations code for projectes.
|
|
;; - `src` is used on my linux machine
|
|
;; - `Code` is used on my mac machine
|
|
;; - `opt` is used on my where I checkout, and compile, and complain about it
|
|
;; not running right, but refuse to the the documentation.
|
|
(require 'seq)
|
|
(setq projectile-project-search-path
|
|
(seq-filter 'file-directory-p '("~/src" "~/Code" "~/opt")))
|
|
;; Make sort reasonable.
|
|
(setq projectile-sort-order 'access-time)
|
|
|
|
;; recursive search for deft
|
|
(setq deft-recursive t)
|
|
|
|
|
|
; Enable word wrap
|
|
(add-hook 'org-mode-hook #'visual-line-mode)
|
|
|
|
;Custom bullets
|
|
(setq org-superstar-headline-bullets-list '("⁜" "☰" "☱" "☲" "☳" "☴" "☵" "☶" "☷"))
|
|
|
|
;; allow md export
|
|
(eval-after-load "org" '(require 'ox-md nil t))
|
|
|
|
;; org-journal-file-format
|
|
(customize-set-variable 'org-journal-date-format "%A, %d %B %Y")
|
|
|
|
|
|
;;; Making OrgMode it better looking
|
|
; User Mix Pitch Mode for orgmode
|
|
(add-hook! 'org-mode-hook #'+org-pretty-mode #'mixed-pitch-mode)
|
|
|
|
|
|
; Add Padding
|
|
(add-hook 'org-mode-hook (lambda ()
|
|
"Add padding left and right margins to orgmode"
|
|
(display-line-numbers-mode -1)
|
|
;(text-scale-set 2)
|
|
(setq left-margin-width 2)
|
|
(setq right-margin-width 2)
|
|
(set-window-buffer nil (current-buffer))))
|
|
|
|
(custom-set-faces!
|
|
'(default :height 1)
|
|
'(org-document-title :height 2.2))
|
|
|
|
(setq org-agenda-deadline-faces
|
|
'((1.001 . error)
|
|
(1.0 . org-warning)
|
|
(0.5 . org-upcoming-deadline)
|
|
(0.0 . org-upcoming-distant-deadline)))
|
|
|
|
;; Added Org-mode
|
|
(add-hook 'org-mode-hook (lambda ()
|
|
"Beautify Org Checkbox Symbol"`
|
|
(push '("[ ]" . "☐") prettify-symbols-alist)
|
|
(push '("[_]" . "☐") prettify-symbols-alist)
|
|
(push '("[X]" . "☑" ) prettify-symbols-alist)
|
|
(push '("[-]" . "⊟" ) prettify-symbols-alist)
|
|
(prettify-symbols-mode)))
|
|
|
|
|
|
|
|
;;; Org-Agenda Options
|
|
(use-package! org-super-agenda
|
|
:commands (org-super-agenda-mode))
|
|
(after! org-agenda
|
|
(org-super-agenda-mode))
|
|
|
|
(setq org-agenda-skip-scheduled-if-done t
|
|
org-agenda-skip-deadline-if-done t
|
|
org-agenda-include-deadlines t
|
|
org-agenda-block-separator nil
|
|
org-agenda-tags-column 100 ;; from testing this seems to be a good value
|
|
org-agenda-compact-blocks t)
|
|
|
|
(add-to-list 'org-capture-templates
|
|
'("w" "Work Todo" entry
|
|
(file+headline +org-capture-work-todo-file "Inbox")
|
|
"* [_] %?\n%i\n%a" :prepend t))
|
|
|
|
(setq org-roam-directory "~/org/roam")
|
|
|
|
|
|
(load! "org/+babel-diff")
|