2024-01-23 21:13:36 +01:00
|
|
|
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
|
|
|
|
|
2024-02-28 19:57:03 +01:00
|
|
|
(map! :n "<f12>" #'org-agenda-list)
|
|
|
|
(map! :n "<f7>" #'org-drill)
|
|
|
|
(map! "C-M-+" #'doom/increase-font-size)
|
|
|
|
(map! "C-#" #'comment-line)
|
|
|
|
(evil-define-key 'normal dired-mode-map
|
|
|
|
(kbd "DEL") 'dired-up-directory)
|
|
|
|
|
2024-02-07 17:08:51 +01:00
|
|
|
;; Basic User Settings
|
2024-01-28 09:35:19 +01:00
|
|
|
(setq user-full-name "Jonathan Jenne"
|
|
|
|
user-mail-address "johnnie@posteo.de")
|
2024-01-23 21:13:36 +01:00
|
|
|
|
2024-02-07 17:08:51 +01:00
|
|
|
;; Default Shell
|
|
|
|
;; Useful if default system shell is not bash
|
2024-02-02 09:28:35 +01:00
|
|
|
(setq shell-file-name (executable-find "bash"))
|
2024-01-23 21:13:36 +01:00
|
|
|
|
2024-03-03 11:48:20 +01:00
|
|
|
;; Fonts
|
|
|
|
(setq doom-font
|
|
|
|
(font-spec :family "IBM Plex Mono" :size 18 :weight 'medium))
|
|
|
|
(setq doom-variable-pitch-font
|
|
|
|
(font-spec :family "IBM Plex Serif" :size 18 :weight 'medium))
|
|
|
|
(setq variable-pitch
|
|
|
|
(font-spec :family "IBM Plex Serif" :size 18 :weight 'medium))
|
|
|
|
|
2024-02-07 17:08:51 +01:00
|
|
|
;; Display Line numbers
|
2024-01-23 21:13:36 +01:00
|
|
|
(setq display-line-numbers-type t)
|
2024-02-07 17:08:51 +01:00
|
|
|
|
2024-02-15 07:20:45 +01:00
|
|
|
(use-package! heaven-and-hell
|
|
|
|
:ensure t
|
|
|
|
:config
|
|
|
|
(setq heaven-and-hell-theme-type 'dark) ;; Omit to use light by default
|
|
|
|
(setq heaven-and-hell-themes
|
2024-02-27 17:48:08 +01:00
|
|
|
'((light . doom-gruvbox-light)
|
|
|
|
(dark . doom-gruvbox))) ;; Themes can be the list: (dark . (tsdh-dark wombat))
|
2024-02-15 07:20:45 +01:00
|
|
|
;; Optionall, load themes without asking for confirmation.
|
|
|
|
(setq heaven-and-hell-load-theme-no-confirm t)
|
|
|
|
:hook (after-init . heaven-and-hell-init-hook)
|
2024-02-27 17:48:08 +01:00
|
|
|
:bind (("<f6>" . heaven-and-hell-toggle-theme)))
|
2024-02-15 07:20:45 +01:00
|
|
|
|
2024-02-14 05:44:20 +01:00
|
|
|
(setq +user-org-path "~/Notes/Org")
|
|
|
|
(defun org-path (filename) (expand-file-name filename +user-org-path))
|
2024-02-07 08:36:21 +01:00
|
|
|
|
2024-03-03 11:48:20 +01:00
|
|
|
(after! org
|
|
|
|
(setq org-directory +user-org-path
|
|
|
|
org-src-tab-acts-natively t)
|
|
|
|
org-todo-sets '(("TODO" "PROJ" "LOOP" "STRT" "WAIT" "HOLD" "IDEA" "DONE" "KILL")
|
|
|
|
("[ ]" "[-]" "[?]" "[X]")
|
|
|
|
("THIS" "EXAMPLE")))
|
|
|
|
|
|
|
|
(add-hook! 'org-mode-hook '(olivetti-mode (lambda () (display-line-numbers-mode -1))))
|
|
|
|
|
|
|
|
(add-hook! 'org-after-todo-state-change-hook '(org-habit-stats-update-properties))
|
|
|
|
|
2024-02-02 09:28:35 +01:00
|
|
|
|
2024-02-15 07:20:45 +01:00
|
|
|
(add-to-list 'org-modules 'org-habit)
|
|
|
|
|
2024-02-27 17:48:08 +01:00
|
|
|
(after! org (;; TOC Links will lead to errors when attempting
|
2024-02-26 18:47:58 +01:00
|
|
|
;; to export to HTML
|
|
|
|
setq org-export-exclude-tags '("toc")))
|
|
|
|
|
|
|
|
(defun my-org-inline-css-hook (exporter)
|
|
|
|
"Insert custom inline css"
|
|
|
|
(when (eq exporter 'html)
|
|
|
|
(let* ((dir (ignore-errors (file-name-directory (buffer-file-name))))
|
|
|
|
(path (concat dir "style.css"))
|
|
|
|
(fallback-style (or (null dir) (null (file-exists-p path))))
|
|
|
|
(final (if fallback-style "~/.config/doom/style.css" path))) ;; <- set your own style file path
|
|
|
|
(setq org-html-head-include-default-style t)
|
|
|
|
(setq org-html-head (concat
|
|
|
|
"<style type=\"text/css\">\n"
|
|
|
|
"<!--/*--><![CDATA[/*><!--*/\n"
|
|
|
|
(with-temp-buffer
|
|
|
|
(insert-file-contents final)
|
|
|
|
(buffer-string))
|
|
|
|
"/*]]>*/-->\n"
|
|
|
|
"</style>\n")))))
|
|
|
|
|
|
|
|
;; Org Export
|
2024-03-03 11:48:20 +01:00
|
|
|
(add-hook 'org-export-before-processing-functions 'my-org-inline-css-hook)
|
2024-02-26 18:47:58 +01:00
|
|
|
|
2024-02-08 16:25:16 +01:00
|
|
|
(after! org (setq +org-capture-notes-file (org-path "Notes.org")
|
|
|
|
+org-capture-todo-file (org-path "Todo.org")
|
|
|
|
+org-capture-journal-file (org-path "Journal.org")
|
2024-02-28 19:57:03 +01:00
|
|
|
+org-capture-cooking-file (org-path "Cooking.org")
|
2024-02-27 17:48:08 +01:00
|
|
|
+org-capture-nepali-file (org-path "Nepali.org")))
|
2024-02-05 13:22:49 +01:00
|
|
|
|
2024-02-07 17:08:51 +01:00
|
|
|
(after! org (setq org-capture-templates
|
2024-02-27 17:48:08 +01:00
|
|
|
'(("t" "Personal Todo" entry
|
2024-02-14 05:44:20 +01:00
|
|
|
(file+headline +org-capture-todo-file "Inbox")
|
|
|
|
"* TODO %?\n" :prepend t)
|
2024-02-02 09:28:35 +01:00
|
|
|
|
2024-02-28 19:57:03 +01:00
|
|
|
("r" "Recipe" entry
|
|
|
|
(file+headline +org-capture-cooking-file "Unsorted")
|
|
|
|
"* NEVERMADE %?
|
|
|
|
:PROPERTIES:
|
|
|
|
:Author:
|
|
|
|
:Source:
|
|
|
|
:Sent_by:
|
|
|
|
:Yield:
|
|
|
|
:Prep_Time:
|
|
|
|
:Cook_Time:
|
|
|
|
:Total_Time:
|
|
|
|
:Cost:
|
|
|
|
:Description:
|
|
|
|
:URL:
|
|
|
|
:Added: %u
|
|
|
|
:END:
|
|
|
|
|
|
|
|
- [ ] Ingredient 1
|
|
|
|
|
|
|
|
|
|
|
|
1. First Step")
|
|
|
|
|
2024-02-27 17:48:08 +01:00
|
|
|
("n" "Nepali")
|
2024-02-05 13:22:49 +01:00
|
|
|
|
2024-02-27 17:48:08 +01:00
|
|
|
("nw" "Nepali Word" entry
|
|
|
|
(file+headline +org-capture-nepali-file "Nepali Words")
|
|
|
|
"* %^{Nepali Word} :drill:\n%\\1\n** Answer\n%^{Translation}" :prepend t :immediate-finish t)
|
2024-02-26 18:47:58 +01:00
|
|
|
|
2024-03-03 11:48:20 +01:00
|
|
|
("j" "Daily Journal" entry
|
2024-02-14 05:44:20 +01:00
|
|
|
(file+olp+datetree +org-capture-journal-file)
|
|
|
|
"* %U %?\n" :prepend t))))
|
2024-02-05 13:22:49 +01:00
|
|
|
|
2024-02-07 17:08:51 +01:00
|
|
|
(after! org (setq
|
2024-02-14 06:10:47 +01:00
|
|
|
org-agenda-show-all-dates nil
|
|
|
|
org-agenda-span 4
|
|
|
|
org-agenda-start-day "+0d"
|
2024-02-18 18:02:37 +01:00
|
|
|
org-agenda-spillover-skip-function '(org-agenda-skip-entry-if 'todo 'done)
|
2024-02-14 06:10:47 +01:00
|
|
|
org-agenda-time-grid
|
|
|
|
'((daily today require-timed)
|
|
|
|
(800 1000 1200 1400 1600 1800 2000)
|
|
|
|
" ┄┄┄┄┄ " "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄")
|
|
|
|
org-agenda-current-time-string
|
|
|
|
"◀── now ──────────────────────────────────────────────── \\o/"
|
|
|
|
org-agenda-block-separator ?─
|
|
|
|
;; Consider all org files part of the org-agenda
|
|
|
|
org-agenda-files (list +user-org-path)))
|
2024-02-07 17:08:51 +01:00
|
|
|
|
2024-02-28 19:57:03 +01:00
|
|
|
(add-hook 'org-mode-hook #'hl-todo-mode)
|
|
|
|
|
2024-02-15 07:20:45 +01:00
|
|
|
(after! hl-todo (setq hl-todo-keyword-faces '(("TODO" warning bold)
|
|
|
|
("FIXME" error bold)
|
|
|
|
("EXAMPLE" font-lock-keyword-face bold)
|
|
|
|
("HACK" font-lock-constant-face bold)
|
|
|
|
("DEPRECATED" font-lock-doc-face bold)
|
|
|
|
("NOTE" success bold)
|
|
|
|
("BUG" error bold)
|
2024-03-03 11:48:20 +01:00
|
|
|
("THIS" font-lock-constant-face bold))))
|
|
|
|
|
|
|
|
(use-package! nov
|
|
|
|
:mode ("\\.epub\\'" . nov-mode)
|
|
|
|
:config
|
|
|
|
(setq nov-text-width 60))
|
|
|
|
|
|
|
|
(add-hook! 'nov-mode-hook '(olivetti-mode))
|
|
|
|
|
|
|
|
(after! olivetti (setq olivetti-body-width 60))
|
2024-01-23 21:13:36 +01:00
|
|
|
|
2024-02-08 16:27:04 +01:00
|
|
|
(use-package! org-auto-tangle
|
|
|
|
:defer t
|
2024-02-15 07:20:45 +01:00
|
|
|
:config (setq org-auto-tangle-default nil)
|
2024-02-08 16:27:04 +01:00
|
|
|
:hook (org-mode . org-auto-tangle-mode))
|
2024-02-15 18:42:53 +01:00
|
|
|
|
2024-02-26 18:47:58 +01:00
|
|
|
(after! org-drill
|
|
|
|
(setq org-drill-scope 'agenda))
|
|
|
|
|
2024-02-15 18:42:53 +01:00
|
|
|
(after! doom-modeline
|
|
|
|
(setq doom-modeline-battery t)
|
|
|
|
(setq doom-modeline-major-mode-icon t))
|
2024-02-18 18:02:37 +01:00
|
|
|
|
2024-02-28 19:57:03 +01:00
|
|
|
(add-hook 'doom-after-init-hook #'display-battery-mode)
|
|
|
|
(add-hook 'doom-after-init-hook #'display-time-mode)
|
|
|
|
|
2024-02-18 18:02:37 +01:00
|
|
|
(after! evil-snipe (setq evil-snipe-scope 'whole-visible))
|
2024-03-03 11:48:20 +01:00
|
|
|
|
|
|
|
(after! org-noter
|
|
|
|
(setq org-noter-notes-search-path '("~/Notes/Org"))
|
|
|
|
(setq org-noter-always-create-frame nil)
|
|
|
|
(setq org-noter-doc-split-fraction '(0.75 . 0.75))
|
|
|
|
(setq org-noter-default-notes-file-names '()))
|
|
|
|
|
|
|
|
(after! org-roam
|
|
|
|
(setq org-roam-directory "~/Notes/Org/Roam")
|
|
|
|
(setq org-roam-dailies-directory "Daily"))
|