doom: migrate to use-package!

This commit is contained in:
Inhji 2024-03-11 15:52:35 +05:45
parent bf9c306103
commit 6b85231fde
3 changed files with 533 additions and 502 deletions

View File

@ -15,6 +15,9 @@
;; Useful if default system shell is not bash ;; Useful if default system shell is not bash
(setq shell-file-name (executable-find "bash")) (setq shell-file-name (executable-find "bash"))
;; This is where all org files are sourced from
(setq +user-org-path "~/Notes/Org")
;; Display Line numbers ;; Display Line numbers
(setq display-line-numbers-type t) (setq display-line-numbers-type t)
@ -27,99 +30,55 @@
(font-spec :family "IBM Plex Serif" :size 18 :weight 'medium)) (font-spec :family "IBM Plex Serif" :size 18 :weight 'medium))
;; Dashboard ;; Dashboard
(defun my-weebery-is-always-greater ()
(let* ((banner '("EMACS "
"███▄ ▄███▓ ▒█████ ▒█████ ▓█████▄ "
"▓██▒▀█▀ ██▒▒██▒ ██▒▒██▒ ██▒▒██▀ ██▌"
"▓██ ▓██░▒██░ ██▒▒██░ ██▒░██ █▌"
"▒██ ▒██ ▒██ ██░▒██ ██░░▓█▄ ▌"
"▒██▒ ░██▒░ ████▓▒░░ ████▓▒░░▒████▓ "
"░ ▒░ ░ ░░ ▒░▒░▒░ ░ ▒░▒░▒░ ▒▒▓ ▒ "
"░ ░ ░ ░ ▒ ▒░ ░ ▒ ▒░ ░ ▒ ▒ "
"░ ░ ░ ░ ░ ▒ ░ ░ ░ ▒ ░ ░ ░ "
" ░ ░ ░ ░ ░ ░ "
""))
(longest-line (apply #'max (mapcar #'length banner))))
(put-text-property
(point)
(dolist (line banner (point))
(insert (+doom-dashboard--center
+doom-dashboard--width
(concat line (make-string (max 0 (- longest-line (length line))) 32)))
"\n"))
'face 'doom-dashboard-banner)))
(setq +doom-dashboard-ascii-banner-fn #'my-weebery-is-always-greater) (setq +doom-dashboard-ascii-banner-fn #'my-weebery-is-always-greater)
(remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-shortmenu) (remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-shortmenu)
(remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-footer) (remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-footer)
(remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-loaded) (remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-loaded)
;; Themes ;; Themes
(use-package! heaven-and-hell
:ensure t (use-package! org
:config :config
(setq heaven-and-hell-theme-type 'dark) ;; Omit to use light by default (setq ;; General
(setq heaven-and-hell-themes org-directory +user-org-path
'((light . doom-gruvbox-light) org-src-tab-acts-natively t
(dark . doom-gruvbox))) ;; Themes can be the list: (dark . (tsdh-dark wombat))
;; Optionall, load themes without asking for confirmation.
(setq heaven-and-hell-load-theme-no-confirm t)
:hook (after-init . heaven-and-hell-init-hook)
:bind (("<f6>" . heaven-and-hell-toggle-theme)))
(setq +user-org-path "~/Notes/Org") ;; Org Export
(defun org-path (filename) (expand-file-name filename +user-org-path)) org-export-exclude-tags '("toc")
(after! org ;; Org Agenda
(map! :map org-mode-map :localleader "g s" #'org-habit-stats-view-habit-at-point) org-agenda-show-all-dates t
(setq org-directory +user-org-path org-agenda-span 4
org-src-tab-acts-natively t org-agenda-start-day "+0d"
org-todo-keywords '((sequence "TODO(t)" "|" "DONE(d)") org-agenda-tag-filter-preset '("-drill")
(sequence "THIS(T)" "EXAMPLE")))) 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)
;; org-agenda-spillover-skip-function '(org-agenda-skip-entry-if 'todo 'done)
(add-hook! 'org-mode-hook '(olivetti-mode (lambda () (display-line-numbers-mode -1)))) ;; Org Todo
org-todo-keywords
'((sequence "TODO(t)" "|" "DONE(d)")
(sequence "THIS(T)" "EXAMPLE"))
(add-hook! 'org-after-todo-state-change-hook '(org-habit-stats-update-properties)) ;; Org Capture
+org-capture-notes-file (org-path "Notes.org")
+org-capture-todo-file (org-path "Todo.org")
+org-capture-journal-file (org-path "Journal.org")
+org-capture-cooking-file (org-path "Cooking.org")
+org-capture-nepali-file (org-path "Nepali.org")
org-capture-templates
'(("t" "Personal Todo" entry
(file +org-capture-todo-file)
"* TODO %?\n" :prepend t)
("r" "Recipe" entry
(add-to-list 'org-modules 'org-habit)
(after! org (;; TOC Links will lead to errors when attempting
;; 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
(add-hook 'org-export-before-processing-functions 'my-org-inline-css-hook)
(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")
+org-capture-cooking-file (org-path "Cooking.org")
+org-capture-nepali-file (org-path "Nepali.org")))
(after! org (setq org-capture-templates
'(("t" "Personal Todo" entry
(file +org-capture-todo-file)
"* TODO %?\n" :prepend t)
("r" "Recipe" entry
(file+headline +org-capture-cooking-file "Unsorted") (file+headline +org-capture-cooking-file "Unsorted")
"* NEVERMADE %? "* NEVERMADE %?
:PROPERTIES: :PROPERTIES:
@ -141,31 +100,22 @@
1. First Step") 1. First Step")
("n" "Nepali") ("n" "Nepali")
("nw" "Nepali Word" entry ("nw" "Nepali Word" entry
(file+headline +org-capture-nepali-file "Nepali Words") (file+headline +org-capture-nepali-file "Nepali Words")
"* %^{Nepali Word} :drill:\n%\\1\n** Answer\n%^{Translation}" :prepend t :immediate-finish t) "* %^{Nepali Word} :drill:\n%\\1\n** Answer\n%^{Translation}" :prepend t :immediate-finish t)
("j" "Daily Journal" entry ("j" "Daily Journal" entry
(file+olp+datetree +org-capture-journal-file) (file+olp+datetree +org-capture-journal-file)
"* %U %?\n" :prepend t)))) "* %U %?\n" :prepend t)))
(after! org (setq
;; org-agenda-spillover-skip-function '(org-agenda-skip-entry-if 'todo 'done) :bind (:map org-mode-map ("<localleader> g s" . #'org-habit-stats-view-habit-at-point))
org-agenda-show-all-dates t :hook (org-after-todo-state-change . org-habit-stats-update-properties)
org-agenda-span 4 :init
org-agenda-start-day "+0d" (add-to-list 'org-modules 'org-habit)
org-agenda-tag-filter-preset '("-drill") (add-hook 'org-export-before-processing-functions 'my-org-inline-css-hook))
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)))
(after! doom-modeline (after! doom-modeline
(setq doom-modeline-battery t) (setq doom-modeline-battery t)
@ -174,11 +124,23 @@
(add-hook 'doom-after-init-hook #'display-battery-mode) (add-hook 'doom-after-init-hook #'display-battery-mode)
(add-hook 'doom-after-init-hook #'display-time-mode) (add-hook 'doom-after-init-hook #'display-time-mode)
(drag-stuff-global-mode t)
(after! evil-snipe (setq evil-snipe-scope 'whole-visible)) (after! evil-snipe (setq evil-snipe-scope 'whole-visible))
(add-hook 'org-mode-hook #'hl-todo-mode) (use-package! heaven-and-hell
:ensure t
:config
(setq heaven-and-hell-theme-type 'dark ;; Omit to use light by default
heaven-and-hell-themes
'((light . doom-gruvbox-light)
(dark . doom-gruvbox)) ;; Themes can be the list: (dark . (tsdh-dark wombat))
heaven-and-hell-load-theme-no-confirm t)
:hook (after-init . heaven-and-hell-init-hook)
:bind (("<f6>" . heaven-and-hell-toggle-theme)))
(after! hl-todo (use-package! hl-todo
:config
(setq hl-todo-keyword-faces (setq hl-todo-keyword-faces
'(("TODO" warning bold) '(("TODO" warning bold)
("EXAMPLE" font-lock-keyword-face bold) ("EXAMPLE" font-lock-keyword-face bold)
@ -186,10 +148,8 @@
("DEPRECATED" font-lock-doc-face bold) ("DEPRECATED" font-lock-doc-face bold)
("NOTE" success bold) ("NOTE" success bold)
("BUG" error bold) ("BUG" error bold)
("THIS" font-lock-constant-face bold)))) ("THIS" font-lock-constant-face bold)))
:hook (org-mode . hl-todo-mode))
(setq +notmuch-home-function (lambda () (notmuch-search "folder:INBOX")))
(setq +notmuch-sync-backend 'offlineimap)
(use-package! nov (use-package! nov
:mode ("\\.epub\\'" . nov-mode) :mode ("\\.epub\\'" . nov-mode)
@ -198,7 +158,13 @@
(add-hook! 'nov-mode-hook '(olivetti-mode)) (add-hook! 'nov-mode-hook '(olivetti-mode))
(after! olivetti (setq olivetti-body-width 70)) ;; (after! olivetti (setq olivetti-body-width 70))
(use-package! olivetti
:init
(add-hook! 'org-mode-hook '(olivetti-mode (lambda () (display-line-numbers-mode -1)))))
;; (add-hook! 'org-mode-hook '(olivetti-mode (lambda () (display-line-numbers-mode -1))))
(use-package! org-auto-tangle (use-package! org-auto-tangle
:defer t :defer t
@ -214,8 +180,53 @@
(setq org-noter-doc-split-fraction '(0.75 . 0.75)) (setq org-noter-doc-split-fraction '(0.75 . 0.75))
(setq org-noter-default-notes-file-names '())) (setq org-noter-default-notes-file-names '()))
;; (use-package! roam
;; :config (setq org-roam-directory "~/Notes/Org/Roam"
;; org-roam-dailies-directory "Daily"))
(after! org-roam (after! org-roam
(setq org-roam-directory "~/Notes/Org/Roam") (setq org-roam-directory "~/Notes/Org/Roam")
(setq org-roam-dailies-directory "Daily")) (setq org-roam-dailies-directory "Daily"))
(drag-stuff-global-mode t) (defun org-path (filename)
"Expand filename relative to the default org-path"
(expand-file-name filename +user-org-path))
(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")))))
(defun my-weebery-is-always-greater ()
(let* ((banner '("EMACS "
"███▄ ▄███▓ ▒█████ ▒█████ ▓█████▄ "
"▓██▒▀█▀ ██▒▒██▒ ██▒▒██▒ ██▒▒██▀ ██▌"
"▓██ ▓██░▒██░ ██▒▒██░ ██▒░██ █▌"
"▒██ ▒██ ▒██ ██░▒██ ██░░▓█▄ ▌"
"▒██▒ ░██▒░ ████▓▒░░ ████▓▒░░▒████▓ "
"░ ▒░ ░ ░░ ▒░▒░▒░ ░ ▒░▒░▒░ ▒▒▓ ▒ "
"░ ░ ░ ░ ▒ ▒░ ░ ▒ ▒░ ░ ▒ ▒ "
"░ ░ ░ ░ ░ ▒ ░ ░ ░ ▒ ░ ░ ░ "
" ░ ░ ░ ░ ░ ░ "
""))
(longest-line (apply #'max (mapcar #'length banner))))
(put-text-property
(point)
(dolist (line banner (point))
(insert (+doom-dashboard--center
+doom-dashboard--width
(concat line (make-string (max 0 (- longest-line (length line))) 32)))
"\n"))
'face 'doom-dashboard-banner)))

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-10 So 13:06 --> <!-- 2024-03-11 Mo 13:42 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Emacs Config</title> <title>Emacs Config</title>
@ -210,54 +210,54 @@ body {
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc"> <div id="text-table-of-contents" role="doc-toc">
<ul> <ul>
<li><a href="#orgb19e895">1. Header</a></li> <li><a href="#org204f073">1. Header</a></li>
<li><a href="#org0090c3c">2. Keybindings</a></li> <li><a href="#org7391319">2. Keybindings</a></li>
<li><a href="#org07bce3b">3. Base Config</a></li> <li><a href="#org57eb3de">3. Base Config</a></li>
<li><a href="#org7bed290">4. Appearance</a></li> <li><a href="#org25314e4">4. Appearance</a></li>
<li><a href="#org7faf069">5. Org Mode</a> <li><a href="#org2005268">5. Org Mode</a>
<ul> <ul>
<li><a href="#org1749679">5.1. General Settings</a></li> <li><a href="#org1df4542">5.1. General Settings</a></li>
<li><a href="#org323bf09">5.2. Org Export</a></li> <li><a href="#org05f6b4c">5.2. Org Export</a></li>
<li><a href="#org0e7fecf">5.3. Org Capture</a></li> <li><a href="#org8d51933">5.3. Org Capture</a></li>
<li><a href="#org148b0d0">5.4. Org Agenda</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgdf5e10a">6. Packages</a> <li><a href="#org9bf68b3">6. Packages</a>
<ul> <ul>
<li><a href="#orga1e7b09">6.1. doom-modeline</a></li> <li><a href="#org2332759">6.1. doom-modeline</a></li>
<li><a href="#orgd6b9543">6.2. evil-snipe</a></li> <li><a href="#org5e7b531">6.2. evil-snipe</a></li>
<li><a href="#org47343f5">6.3. hl-todo</a></li> <li><a href="#orgfbb3b9d">6.3. hl-todo</a></li>
<li><a href="#orgb366bfa">6.4. notmuch</a></li> <li><a href="#org99ad413">6.4. notmuch</a></li>
<li><a href="#org0db7593">6.5. nov.el</a></li> <li><a href="#orga8884d1">6.5. nov.el</a></li>
<li><a href="#org02f2d4a">6.6. olivetti</a></li> <li><a href="#org7b2aa40">6.6. olivetti</a></li>
<li><a href="#org79779a0">6.7. org-auto-tangle</a></li> <li><a href="#org347e270">6.7. org-auto-tangle</a></li>
<li><a href="#org476a1ac">6.8. org-drill</a></li> <li><a href="#org4b9c602">6.8. org-drill</a></li>
<li><a href="#orgd837176">6.9. org-noter</a></li> <li><a href="#org9f83d55">6.9. org-noter</a></li>
<li><a href="#orge89fb09">6.10. org-roam</a></li> <li><a href="#org20a879b">6.10. org-roam</a></li>
<li><a href="#org6d2cfa2">6.11. drag-stuff</a></li> <li><a href="#org16a2f8f">6.11. drag-stuff</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgf60ee49">7. Functions</a></li>
</ul> </ul>
</div> </div>
</div> </div>
<p> <p>
This config file is built on doom-emacs <code>3.0.0-pre</code> and emacs <code>29.2</code>. This config file is built on doom-emacs <code>3.0.0-pre</code> and emacs <code>29.2</code>.
</p> </p>
<div id="outline-container-orgb19e895" class="outline-2"> <div id="outline-container-org204f073" class="outline-2">
<h2 id="orgb19e895"><span class="section-number-2">1.</span> Header</h2> <h2 id="org204f073"><span class="section-number-2">1.</span> Header</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
This header will be the first codeblock in the config file. This header will be the first codeblock in the config file.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #928374;">;;; </span><span style="color: #928374;">$DOOMDIR/config.el -*- lexical-binding: t; -*-</span> <pre class="src src-emacs-lisp"><span style="color: #a89984;">;;; </span><span style="color: #a89984;">$DOOMDIR/config.el -*- lexical-binding: t; -*-</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org0090c3c" class="outline-2"> <div id="outline-container-org7391319" class="outline-2">
<h2 id="org0090c3c"><span class="section-number-2">2.</span> Keybindings</h2> <h2 id="org7391319"><span class="section-number-2">2.</span> Keybindings</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<p> <p>
These keybindings extend the default doom bindings, either because the defaults were confusing to me or because the binding did not yet exist. These keybindings extend the default doom bindings, either because the defaults were confusing to me or because the binding did not yet exist.
@ -344,392 +344,401 @@ These keybindings extend the default doom bindings, either because the defaults
</table> </table>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">map!</span> <span style="color: #fe8019;">:n</span> <span style="color: #b8bb26;">"&lt;f12&gt;"</span> <span style="color: #ebdbb2;">#'</span><span style="color: #689d6a;">org-agenda-list</span><span style="color: #fe8019;">)</span> <pre class="src src-emacs-lisp"><span style="color: #076678;">(</span><span style="color: #9d0006;">map!</span> <span style="color: #af3a03;">:n</span> <span style="color: #79740e;">"&lt;f12&gt;"</span> <span style="color: #076678;">#'</span><span style="color: #8f3f71;">org-agenda-list</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">map!</span> <span style="color: #fe8019;">:n</span> <span style="color: #b8bb26;">"&lt;f7&gt;"</span> <span style="color: #ebdbb2;">#'</span><span style="color: #689d6a;">org-drill</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">map!</span> <span style="color: #af3a03;">:n</span> <span style="color: #79740e;">"&lt;f7&gt;"</span> <span style="color: #076678;">#'</span><span style="color: #8f3f71;">org-drill</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">map!</span> <span style="color: #b8bb26;">"C-M-+"</span> <span style="color: #ebdbb2;">#'</span><span style="color: #689d6a;">doom/increase-font-size</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">map!</span> <span style="color: #79740e;">"C-M-+"</span> <span style="color: #076678;">#'</span><span style="color: #8f3f71;">doom/increase-font-size</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">map!</span> <span style="color: #b8bb26;">"C-#"</span> <span style="color: #ebdbb2;">#'</span><span style="color: #689d6a;">comment-line</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">map!</span> <span style="color: #79740e;">"C-#"</span> <span style="color: #076678;">#'</span><span style="color: #8f3f71;">comment-line</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">map!</span> <span style="color: #fe8019;">:n</span> <span style="color: #b8bb26;">"&lt;f8&gt;"</span> <span style="color: #ebdbb2;">#'</span><span style="color: #689d6a;">emms-playlist-mode-go</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">map!</span> <span style="color: #af3a03;">:n</span> <span style="color: #79740e;">"&lt;f8&gt;"</span> <span style="color: #076678;">#'</span><span style="color: #8f3f71;">emms-playlist-mode-go</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">evil-define-key</span> <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">normal</span> <span style="color: #83a598;">dired-mode-map</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">evil-define-key</span> <span style="color: #076678;">'</span><span style="color: #8f3f71;">normal</span> <span style="color: #076678;">dired-mode-map</span>
<span style="color: #cc241d;">(</span><span style="color: #b8bb26;">kbd</span> <span style="color: #b8bb26;">"DEL"</span><span style="color: #cc241d;">)</span> <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">dired-up-directory</span><span style="color: #fe8019;">)</span> <span style="color: #b16286;">(</span><span style="color: #b57614;">kbd</span> <span style="color: #79740e;">"DEL"</span><span style="color: #b16286;">)</span> <span style="color: #076678;">'</span><span style="color: #8f3f71;">dired-up-directory</span><span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org07bce3b" class="outline-2"> <div id="outline-container-org57eb3de" class="outline-2">
<h2 id="org07bce3b"><span class="section-number-2">3.</span> Base Config</h2> <h2 id="org57eb3de"><span class="section-number-2">3.</span> Base Config</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"> <pre class="src src-emacs-lisp">
<span style="color: #928374;">;; </span><span style="color: #928374;">Basic User Settings</span> <span style="color: #a89984;">;; </span><span style="color: #a89984;">Basic User Settings</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">user-full-name</span> <span style="color: #b8bb26;">"Jonathan Jenne"</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">user-full-name</span> <span style="color: #79740e;">"Jonathan Jenne"</span>
<span style="color: #83a598;">user-mail-address</span> <span style="color: #b8bb26;">"johnnie@posteo.de"</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">user-mail-address</span> <span style="color: #79740e;">"johnnie@posteo.de"</span><span style="color: #076678;">)</span>
<span style="color: #928374;">;; </span><span style="color: #928374;">Default Shell</span> <span style="color: #a89984;">;; </span><span style="color: #a89984;">Default Shell</span>
<span style="color: #928374;">;; </span><span style="color: #928374;">Useful if default system shell is not bash</span> <span style="color: #a89984;">;; </span><span style="color: #a89984;">Useful if default system shell is not bash</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">shell-file-name</span> <span style="color: #cc241d;">(</span><span style="color: #b8bb26;">executable-find</span> <span style="color: #b8bb26;">"bash"</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">shell-file-name</span> <span style="color: #b16286;">(</span><span style="color: #b57614;">executable-find</span> <span style="color: #79740e;">"bash"</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #928374;">;; </span><span style="color: #928374;">Display Line numbers</span> <span style="color: #a89984;">;; </span><span style="color: #a89984;">Display Line numbers</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">display-line-numbers-type</span> t<span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">display-line-numbers-type</span> t<span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org7bed290" class="outline-2"> <div id="outline-container-org25314e4" class="outline-2">
<h2 id="org7bed290"><span class="section-number-2">4.</span> Appearance</h2> <h2 id="org25314e4"><span class="section-number-2">4.</span> Appearance</h2>
<div class="outline-text-2" id="text-4"> <div class="outline-text-2" id="text-4">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #928374;">;; </span><span style="color: #928374;">Fonts</span> <pre class="src src-emacs-lisp"><span style="color: #a89984;">;; </span><span style="color: #a89984;">Fonts</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">doom-font</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">doom-font</span>
<span style="color: #cc241d;">(</span><span style="color: #d3869b;">font-spec</span> <span style="color: #fe8019;">:family</span> <span style="color: #b8bb26;">"IBM Plex Mono"</span> <span style="color: #fe8019;">:size</span> <span style="color: #d3869b; font-weight: bold;">18</span> <span style="color: #fe8019;">:weight</span> <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">medium</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #b16286;">(</span><span style="color: #8f3f71;">font-spec</span> <span style="color: #af3a03;">:family</span> <span style="color: #79740e;">"IBM Plex Mono"</span> <span style="color: #af3a03;">:size</span> <span style="color: #8f3f71; font-weight: bold;">18</span> <span style="color: #af3a03;">:weight</span> <span style="color: #076678;">'</span><span style="color: #8f3f71;">medium</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">doom-variable-pitch-font</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">doom-variable-pitch-font</span>
<span style="color: #cc241d;">(</span><span style="color: #d3869b;">font-spec</span> <span style="color: #fe8019;">:family</span> <span style="color: #b8bb26;">"IBM Plex Serif"</span> <span style="color: #fe8019;">:size</span> <span style="color: #d3869b; font-weight: bold;">18</span> <span style="color: #fe8019;">:weight</span> <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">medium</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #b16286;">(</span><span style="color: #8f3f71;">font-spec</span> <span style="color: #af3a03;">:family</span> <span style="color: #79740e;">"IBM Plex Serif"</span> <span style="color: #af3a03;">:size</span> <span style="color: #8f3f71; font-weight: bold;">18</span> <span style="color: #af3a03;">:weight</span> <span style="color: #076678;">'</span><span style="color: #8f3f71;">medium</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">setq</span> variable-pitch <span style="color: #076678;">(</span><span style="color: #9d0006;">setq</span> variable-pitch
<span style="color: #cc241d;">(</span><span style="color: #d3869b;">font-spec</span> <span style="color: #fe8019;">:family</span> <span style="color: #b8bb26;">"IBM Plex Serif"</span> <span style="color: #fe8019;">:size</span> <span style="color: #d3869b; font-weight: bold;">18</span> <span style="color: #fe8019;">:weight</span> <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">medium</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #b16286;">(</span><span style="color: #8f3f71;">font-spec</span> <span style="color: #af3a03;">:family</span> <span style="color: #79740e;">"IBM Plex Serif"</span> <span style="color: #af3a03;">:size</span> <span style="color: #8f3f71; font-weight: bold;">18</span> <span style="color: #af3a03;">:weight</span> <span style="color: #076678;">'</span><span style="color: #8f3f71;">medium</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #928374;">;; </span><span style="color: #928374;">Dashboard</span> <span style="color: #a89984;">;; </span><span style="color: #a89984;">Dashboard</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">defun</span> <span style="color: #b8bb26;">my-weebery-is-always-greater</span> <span style="color: #cc241d;">()</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">defun</span> <span style="color: #b57614;">my-weebery-is-always-greater</span> <span style="color: #b16286;">()</span>
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">let*</span> <span style="color: #b8bb26;">(</span><span style="color: #83a598;">(</span>banner <span style="color: #ebdbb2;">'</span><span style="color: #fe8019;">(</span><span style="color: #b8bb26;">"EMACS "</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">let*</span> <span style="color: #8ec07c;">(</span><span style="color: #d65d0e;">(</span>banner <span style="color: #076678;">'</span><span style="color: #076678;">(</span><span style="color: #79740e;">"EMACS "</span>
<span style="color: #b8bb26;">"&#9608;&#9608;&#9608;&#9604; &#9604;&#9608;&#9608;&#9608;&#9619; &#9618;&#9608;&#9608;&#9608;&#9608;&#9608; &#9618;&#9608;&#9608;&#9608;&#9608;&#9608; &#9619;&#9608;&#9608;&#9608;&#9608;&#9608;&#9604; "</span> <span style="color: #79740e;">"&#9608;&#9608;&#9608;&#9604; &#9604;&#9608;&#9608;&#9608;&#9619; &#9618;&#9608;&#9608;&#9608;&#9608;&#9608; &#9618;&#9608;&#9608;&#9608;&#9608;&#9608; &#9619;&#9608;&#9608;&#9608;&#9608;&#9608;&#9604; "</span>
<span style="color: #b8bb26;">"&#9619;&#9608;&#9608;&#9618;&#9600;&#9608;&#9600; &#9608;&#9608;&#9618;&#9618;&#9608;&#9608;&#9618; &#9608;&#9608;&#9618;&#9618;&#9608;&#9608;&#9618; &#9608;&#9608;&#9618;&#9618;&#9608;&#9608;&#9600; &#9608;&#9608;&#9612;"</span> <span style="color: #79740e;">"&#9619;&#9608;&#9608;&#9618;&#9600;&#9608;&#9600; &#9608;&#9608;&#9618;&#9618;&#9608;&#9608;&#9618; &#9608;&#9608;&#9618;&#9618;&#9608;&#9608;&#9618; &#9608;&#9608;&#9618;&#9618;&#9608;&#9608;&#9600; &#9608;&#9608;&#9612;"</span>
<span style="color: #b8bb26;">"&#9619;&#9608;&#9608; &#9619;&#9608;&#9608;&#9617;&#9618;&#9608;&#9608;&#9617; &#9608;&#9608;&#9618;&#9618;&#9608;&#9608;&#9617; &#9608;&#9608;&#9618;&#9617;&#9608;&#9608; &#9608;&#9612;"</span> <span style="color: #79740e;">"&#9619;&#9608;&#9608; &#9619;&#9608;&#9608;&#9617;&#9618;&#9608;&#9608;&#9617; &#9608;&#9608;&#9618;&#9618;&#9608;&#9608;&#9617; &#9608;&#9608;&#9618;&#9617;&#9608;&#9608; &#9608;&#9612;"</span>
<span style="color: #b8bb26;">"&#9618;&#9608;&#9608; &#9618;&#9608;&#9608; &#9618;&#9608;&#9608; &#9608;&#9608;&#9617;&#9618;&#9608;&#9608; &#9608;&#9608;&#9617;&#9617;&#9619;&#9608;&#9604; &#9612;"</span> <span style="color: #79740e;">"&#9618;&#9608;&#9608; &#9618;&#9608;&#9608; &#9618;&#9608;&#9608; &#9608;&#9608;&#9617;&#9618;&#9608;&#9608; &#9608;&#9608;&#9617;&#9617;&#9619;&#9608;&#9604; &#9612;"</span>
<span style="color: #b8bb26;">"&#9618;&#9608;&#9608;&#9618; &#9617;&#9608;&#9608;&#9618;&#9617; &#9608;&#9608;&#9608;&#9608;&#9619;&#9618;&#9617;&#9617; &#9608;&#9608;&#9608;&#9608;&#9619;&#9618;&#9617;&#9617;&#9618;&#9608;&#9608;&#9608;&#9608;&#9619; "</span> <span style="color: #79740e;">"&#9618;&#9608;&#9608;&#9618; &#9617;&#9608;&#9608;&#9618;&#9617; &#9608;&#9608;&#9608;&#9608;&#9619;&#9618;&#9617;&#9617; &#9608;&#9608;&#9608;&#9608;&#9619;&#9618;&#9617;&#9617;&#9618;&#9608;&#9608;&#9608;&#9608;&#9619; "</span>
<span style="color: #b8bb26;">"&#9617; &#9618;&#9617; &#9617; &#9617;&#9617; &#9618;&#9617;&#9618;&#9617;&#9618;&#9617; &#9617; &#9618;&#9617;&#9618;&#9617;&#9618;&#9617; &#9618;&#9618;&#9619; &#9618; "</span> <span style="color: #79740e;">"&#9617; &#9618;&#9617; &#9617; &#9617;&#9617; &#9618;&#9617;&#9618;&#9617;&#9618;&#9617; &#9617; &#9618;&#9617;&#9618;&#9617;&#9618;&#9617; &#9618;&#9618;&#9619; &#9618; "</span>
<span style="color: #b8bb26;">"&#9617; &#9617; &#9617; &#9617; &#9618; &#9618;&#9617; &#9617; &#9618; &#9618;&#9617; &#9617; &#9618; &#9618; "</span> <span style="color: #79740e;">"&#9617; &#9617; &#9617; &#9617; &#9618; &#9618;&#9617; &#9617; &#9618; &#9618;&#9617; &#9617; &#9618; &#9618; "</span>
<span style="color: #b8bb26;">"&#9617; &#9617; &#9617; &#9617; &#9617; &#9618; &#9617; &#9617; &#9617; &#9618; &#9617; &#9617; &#9617; "</span> <span style="color: #79740e;">"&#9617; &#9617; &#9617; &#9617; &#9617; &#9618; &#9617; &#9617; &#9617; &#9618; &#9617; &#9617; &#9617; "</span>
<span style="color: #b8bb26;">" &#9617; &#9617; &#9617; &#9617; &#9617; &#9617; "</span> <span style="color: #79740e;">" &#9617; &#9617; &#9617; &#9617; &#9617; &#9617; "</span>
<span style="color: #b8bb26;">" &#9617; "</span><span style="color: #fe8019;">)</span><span style="color: #83a598;">)</span> <span style="color: #79740e;">" &#9617; "</span><span style="color: #076678;">)</span><span style="color: #d65d0e;">)</span>
<span style="color: #83a598;">(</span>longest-line <span style="color: #fe8019;">(</span><span style="color: #d3869b;">apply</span> <span style="color: #ebdbb2;">#'</span><span style="color: #689d6a;">max</span> <span style="color: #cc241d;">(</span><span style="color: #d3869b;">mapcar</span> <span style="color: #ebdbb2;">#'</span><span style="color: #689d6a;">length</span> banner<span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span><span style="color: #83a598;">)</span><span style="color: #b8bb26;">)</span> <span style="color: #d65d0e;">(</span>longest-line <span style="color: #076678;">(</span><span style="color: #8f3f71;">apply</span> <span style="color: #076678;">#'</span><span style="color: #8f3f71;">max</span> <span style="color: #b16286;">(</span><span style="color: #8f3f71;">mapcar</span> <span style="color: #076678;">#'</span><span style="color: #8f3f71;">length</span> banner<span style="color: #b16286;">)</span><span style="color: #076678;">)</span><span style="color: #d65d0e;">)</span><span style="color: #8ec07c;">)</span>
<span style="color: #b8bb26;">(</span><span style="color: #d3869b;">put-text-property</span> <span style="color: #8ec07c;">(</span><span style="color: #8f3f71;">put-text-property</span>
<span style="color: #83a598;">(</span><span style="color: #d3869b;">point</span><span style="color: #83a598;">)</span> <span style="color: #d65d0e;">(</span><span style="color: #8f3f71;">point</span><span style="color: #d65d0e;">)</span>
<span style="color: #83a598;">(</span><span style="color: #fb4934;">dolist</span> <span style="color: #fe8019;">(</span>line banner <span style="color: #cc241d;">(</span><span style="color: #d3869b;">point</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #d65d0e;">(</span><span style="color: #9d0006;">dolist</span> <span style="color: #076678;">(</span>line banner <span style="color: #b16286;">(</span><span style="color: #8f3f71;">point</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #d3869b;">insert</span> <span style="color: #cc241d;">(</span><span style="color: #b8bb26;">+doom-dashboard--center</span> <span style="color: #076678;">(</span><span style="color: #8f3f71;">insert</span> <span style="color: #b16286;">(</span><span style="color: #b57614;">+doom-dashboard--center</span>
<span style="color: #83a598;">+doom-dashboard--width</span> <span style="color: #076678;">+doom-dashboard--width</span>
<span style="color: #b8bb26;">(</span><span style="color: #d3869b;">concat</span> line <span style="color: #83a598;">(</span><span style="color: #d3869b;">make-string</span> <span style="color: #fe8019;">(</span><span style="color: #d3869b;">max</span> <span style="color: #d3869b; font-weight: bold;">0</span> <span style="color: #cc241d;">(</span><span style="color: #d3869b;">-</span> longest-line <span style="color: #b8bb26;">(</span><span style="color: #d3869b;">length</span> line<span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #d3869b; font-weight: bold;">32</span><span style="color: #83a598;">)</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span> <span style="color: #8ec07c;">(</span><span style="color: #8f3f71;">concat</span> line <span style="color: #d65d0e;">(</span><span style="color: #8f3f71;">make-string</span> <span style="color: #076678;">(</span><span style="color: #8f3f71;">max</span> <span style="color: #8f3f71; font-weight: bold;">0</span> <span style="color: #b16286;">(</span><span style="color: #8f3f71;">-</span> longest-line <span style="color: #8ec07c;">(</span><span style="color: #8f3f71;">length</span> line<span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span> <span style="color: #8f3f71; font-weight: bold;">32</span><span style="color: #d65d0e;">)</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span>
<span style="color: #b8bb26;">"\n"</span><span style="color: #fe8019;">)</span><span style="color: #83a598;">)</span> <span style="color: #79740e;">"\n"</span><span style="color: #076678;">)</span><span style="color: #d65d0e;">)</span>
<span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">face</span> <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">doom-dashboard-banner</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">'</span><span style="color: #8f3f71;">face</span> <span style="color: #076678;">'</span><span style="color: #8f3f71;">doom-dashboard-banner</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">+doom-dashboard-ascii-banner-fn</span> <span style="color: #ebdbb2;">#'</span><span style="color: #689d6a;">my-weebery-is-always-greater</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">+doom-dashboard-ascii-banner-fn</span> <span style="color: #076678;">#'</span><span style="color: #8f3f71;">my-weebery-is-always-greater</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #b8bb26;">remove-hook</span> <span style="color: #ebdbb2;">'</span><span style="color: #83a598;">+doom-dashboard-functions</span> <span style="color: #ebdbb2;">#'</span><span style="color: #689d6a;">doom-dashboard-widget-shortmenu</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #b57614;">remove-hook</span> <span style="color: #076678;">'</span><span style="color: #076678;">+doom-dashboard-functions</span> <span style="color: #076678;">#'</span><span style="color: #8f3f71;">doom-dashboard-widget-shortmenu</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #b8bb26;">remove-hook</span> <span style="color: #ebdbb2;">'</span><span style="color: #83a598;">+doom-dashboard-functions</span> <span style="color: #ebdbb2;">#'</span><span style="color: #689d6a;">doom-dashboard-widget-footer</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #b57614;">remove-hook</span> <span style="color: #076678;">'</span><span style="color: #076678;">+doom-dashboard-functions</span> <span style="color: #076678;">#'</span><span style="color: #8f3f71;">doom-dashboard-widget-footer</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #b8bb26;">remove-hook</span> <span style="color: #ebdbb2;">'</span><span style="color: #83a598;">+doom-dashboard-functions</span> <span style="color: #ebdbb2;">#'</span><span style="color: #689d6a;">doom-dashboard-widget-loaded</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #b57614;">remove-hook</span> <span style="color: #076678;">'</span><span style="color: #076678;">+doom-dashboard-functions</span> <span style="color: #076678;">#'</span><span style="color: #8f3f71;">doom-dashboard-widget-loaded</span><span style="color: #076678;">)</span>
<span style="color: #928374;">;; </span><span style="color: #928374;">Themes</span> <span style="color: #a89984;">;; </span><span style="color: #a89984;">Themes</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">use-package!</span> heaven-and-hell <span style="color: #076678;">(</span><span style="color: #9d0006;">use-package!</span> heaven-and-hell
<span style="color: #fe8019;">:ensure</span> t <span style="color: #af3a03;">:ensure</span> t
<span style="color: #fe8019;">:config</span> <span style="color: #af3a03;">:config</span>
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">heaven-and-hell-theme-type</span> <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">dark</span><span style="color: #cc241d;">)</span> <span style="color: #928374;">;; </span><span style="color: #928374;">Omit to use light by default</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">heaven-and-hell-theme-type</span> <span style="color: #076678;">'</span><span style="color: #8f3f71;">dark</span><span style="color: #b16286;">)</span> <span style="color: #a89984;">;; </span><span style="color: #a89984;">Omit to use light by default</span>
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">heaven-and-hell-themes</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">heaven-and-hell-themes</span>
<span style="color: #ebdbb2;">'</span><span style="color: #b8bb26;">(</span><span style="color: #83a598;">(</span>light . doom-gruvbox-light<span style="color: #83a598;">)</span> <span style="color: #076678;">'</span><span style="color: #8ec07c;">(</span><span style="color: #d65d0e;">(</span>light . doom-gruvbox-light<span style="color: #d65d0e;">)</span>
<span style="color: #83a598;">(</span>dark . doom-gruvbox<span style="color: #83a598;">)</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span> <span style="color: #928374;">;; </span><span style="color: #928374;">Themes can be the list: (dark . (tsdh-dark wombat))</span> <span style="color: #d65d0e;">(</span>dark . doom-gruvbox<span style="color: #d65d0e;">)</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span> <span style="color: #a89984;">;; </span><span style="color: #a89984;">Themes can be the list: (dark . (tsdh-dark wombat))</span>
<span style="color: #928374;">;; </span><span style="color: #928374;">Optionall, load themes without asking for confirmation.</span> <span style="color: #a89984;">;; </span><span style="color: #a89984;">Optionall, load themes without asking for confirmation.</span>
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">heaven-and-hell-load-theme-no-confirm</span> t<span style="color: #cc241d;">)</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">heaven-and-hell-load-theme-no-confirm</span> t<span style="color: #b16286;">)</span>
<span style="color: #fe8019;">:hook</span> <span style="color: #cc241d;">(</span>after-init . heaven-and-hell-init-hook<span style="color: #cc241d;">)</span> <span style="color: #af3a03;">:hook</span> <span style="color: #b16286;">(</span>after-init . heaven-and-hell-init-hook<span style="color: #b16286;">)</span>
<span style="color: #fe8019;">:bind</span> <span style="color: #cc241d;">(</span><span style="color: #b8bb26;">(</span><span style="color: #b8bb26;">"&lt;f6&gt;"</span> . heaven-and-hell-toggle-theme<span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #af3a03;">:bind</span> <span style="color: #b16286;">(</span><span style="color: #8ec07c;">(</span><span style="color: #79740e;">"&lt;f6&gt;"</span> . heaven-and-hell-toggle-theme<span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org7faf069" class="outline-2"> <div id="outline-container-org2005268" class="outline-2">
<h2 id="org7faf069"><span class="section-number-2">5.</span> Org Mode</h2> <h2 id="org2005268"><span class="section-number-2">5.</span> Org Mode</h2>
<div class="outline-text-2" id="text-5"> <div class="outline-text-2" id="text-5">
</div> </div>
<div id="outline-container-org1749679" class="outline-3"> <div id="outline-container-org1df4542" class="outline-3">
<h3 id="org1749679"><span class="section-number-3">5.1.</span> General Settings</h3> <h3 id="org1df4542"><span class="section-number-3">5.1.</span> General Settings</h3>
<div class="outline-text-3" id="text-5-1"> <div class="outline-text-3" id="text-5-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">setq</span> +user-org-path <span style="color: #b8bb26;">"~/Notes/Org"</span><span style="color: #fe8019;">)</span> <pre class="src src-emacs-lisp"><span style="color: #076678;">(</span><span style="color: #9d0006;">setq</span> +user-org-path <span style="color: #79740e;">"~/Notes/Org"</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">defun</span> <span style="color: #b8bb26;">org-path</span> <span style="color: #cc241d;">(</span>filename<span style="color: #cc241d;">)</span> <span style="color: #cc241d;">(</span><span style="color: #d3869b;">expand-file-name</span> filename +user-org-path<span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">defun</span> <span style="color: #b57614;">org-path</span> <span style="color: #b16286;">(</span>filename<span style="color: #b16286;">)</span> <span style="color: #b16286;">(</span><span style="color: #8f3f71;">expand-file-name</span> filename +user-org-path<span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> org <span style="color: #076678;">(</span><span style="color: #9d0006;">use-package!</span> org
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">map!</span> <span style="color: #fe8019;">:map</span> <span style="color: #83a598;">org-mode-map</span> <span style="color: #fe8019;">:localleader</span> <span style="color: #b8bb26;">"g s"</span> <span style="color: #ebdbb2;">#'</span><span style="color: #689d6a;">org-habit-stats-view-habit-at-point</span><span style="color: #cc241d;">)</span> <span style="color: #af3a03;">:config</span>
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">org-directory</span> +user-org-path <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #a89984;">;; </span><span style="color: #a89984;">General</span>
<span style="color: #83a598;">org-src-tab-acts-natively</span> t <span style="color: #076678;">org-directory</span> +user-org-path
<span style="color: #83a598;">org-todo-sets</span> <span style="color: #ebdbb2;">'</span><span style="color: #b8bb26;">(</span><span style="color: #83a598;">(</span><span style="color: #b8bb26;">"</span><span style="color: #fabd2f; font-weight: bold;">TODO</span><span style="color: #b8bb26;">"</span> <span style="color: #b8bb26;">"PROJ"</span> <span style="color: #b8bb26;">"LOOP"</span> <span style="color: #b8bb26;">"STRT"</span> <span style="color: #b8bb26;">"WAIT"</span> <span style="color: #b8bb26;">"HOLD"</span> <span style="color: #b8bb26;">"IDEA"</span> <span style="color: #b8bb26;">"DONE"</span> <span style="color: #b8bb26;">"KILL"</span><span style="color: #83a598;">)</span> <span style="color: #076678;">org-src-tab-acts-natively</span> t
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"[ ]"</span> <span style="color: #b8bb26;">"[-]"</span> <span style="color: #b8bb26;">"[?]"</span> <span style="color: #b8bb26;">"[X]"</span><span style="color: #83a598;">)</span>
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"</span><span style="color: #d3869b; font-weight: bold;">THIS</span><span style="color: #b8bb26;">"</span> <span style="color: #b8bb26;">"</span><span style="color: #fb4934; font-weight: bold;">EXAMPLE</span><span style="color: #b8bb26;">"</span><span style="color: #83a598;">)</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">add-hook!</span> <span style="color: #ebdbb2;">'</span><span style="color: #83a598;">org-mode-hook</span> <span style="color: #ebdbb2;">'</span><span style="color: #cc241d;">(</span><span style="color: #83a598;">olivetti-mode</span> <span style="color: #b8bb26;">(</span><span style="color: #fb4934;">lambda</span> <span style="color: #83a598;">()</span> <span style="color: #83a598;">(</span><span style="color: #83a598;">display-line-numbers-mode</span> <span style="color: #d3869b; font-weight: bold;">-1</span><span style="color: #83a598;">)</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #a89984;">;; </span><span style="color: #a89984;">Org Export</span>
<span style="color: #076678;">org-export-exclude-tags</span> <span style="color: #076678;">'</span><span style="color: #8ec07c;">(</span><span style="color: #79740e;">"toc"</span><span style="color: #8ec07c;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">add-hook!</span> <span style="color: #ebdbb2;">'</span><span style="color: #83a598;">org-after-todo-state-change-hook</span> <span style="color: #ebdbb2;">'</span><span style="color: #cc241d;">(</span>org-habit-stats-update-properties<span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #a89984;">;; </span><span style="color: #a89984;">Org Capture</span>
<span style="color: #076678;">+org-capture-notes-file</span> <span style="color: #8ec07c;">(</span><span style="color: #b57614;">org-path</span> <span style="color: #79740e;">"Notes.org"</span><span style="color: #8ec07c;">)</span>
<span style="color: #076678;">+org-capture-todo-file</span> <span style="color: #8ec07c;">(</span><span style="color: #b57614;">org-path</span> <span style="color: #79740e;">"Todo.org"</span><span style="color: #8ec07c;">)</span>
<span style="color: #076678;">+org-capture-journal-file</span> <span style="color: #8ec07c;">(</span><span style="color: #b57614;">org-path</span> <span style="color: #79740e;">"Journal.org"</span><span style="color: #8ec07c;">)</span>
+org-capture-cooking-file <span style="color: #8ec07c;">(</span><span style="color: #b57614;">org-path</span> <span style="color: #79740e;">"Cooking.org"</span><span style="color: #8ec07c;">)</span>
+org-capture-nepali-file <span style="color: #8ec07c;">(</span><span style="color: #b57614;">org-path</span> <span style="color: #79740e;">"Nepali.org"</span><span style="color: #8ec07c;">)</span>
<span style="color: #a89984;">;; </span><span style="color: #a89984;">Org Agenda</span>
<span style="color: #076678;">org-agenda-show-all-dates</span> t
<span style="color: #076678;">org-agenda-span</span> <span style="color: #8f3f71; font-weight: bold;">4</span>
<span style="color: #076678;">org-agenda-start-day</span> <span style="color: #79740e;">"+0d"</span>
<span style="color: #076678;">org-agenda-tag-filter-preset</span> <span style="color: #076678;">'</span><span style="color: #8ec07c;">(</span><span style="color: #79740e;">"-drill"</span><span style="color: #8ec07c;">)</span>
<span style="color: #076678;">org-agenda-time-grid</span>
<span style="color: #076678;">'</span><span style="color: #8ec07c;">(</span><span style="color: #d65d0e;">(</span>daily today require-timed<span style="color: #d65d0e;">)</span>
<span style="color: #d65d0e;">(</span><span style="color: #8f3f71; font-weight: bold;">800</span> <span style="color: #8f3f71; font-weight: bold;">1000</span> <span style="color: #8f3f71; font-weight: bold;">1200</span> <span style="color: #8f3f71; font-weight: bold;">1400</span> <span style="color: #8f3f71; font-weight: bold;">1600</span> <span style="color: #8f3f71; font-weight: bold;">1800</span> <span style="color: #8f3f71; font-weight: bold;">2000</span><span style="color: #d65d0e;">)</span>
<span style="color: #79740e;">" &#9476;&#9476;&#9476;&#9476;&#9476; "</span> <span style="color: #79740e;">"&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;"</span><span style="color: #8ec07c;">)</span>
<span style="color: #076678;">org-agenda-current-time-string</span>
<span style="color: #79740e;">"&#9664;&#9472;&#9472; now &#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472; \\o/"</span>
<span style="color: #076678;">org-agenda-block-separator</span> ?&#9472;
<span style="color: #a89984;">;; </span><span style="color: #a89984;">Consider all org files part of the org-agenda</span>
<span style="color: #076678;">org-agenda-files</span> <span style="color: #8ec07c;">(</span><span style="color: #8f3f71;">list</span> +user-org-path<span style="color: #8ec07c;">)</span>
<span style="color: #a89984;">;; </span><span style="color: #a89984;">org-agenda-spillover-skip-function '(org-agenda-skip-entry-if 'todo 'done)</span>
<span style="color: #a89984;">;; </span><span style="color: #a89984;">Org Todo</span>
<span style="color: #076678;">org-todo-keywords</span>
<span style="color: #076678;">'</span><span style="color: #8ec07c;">(</span><span style="color: #d65d0e;">(</span>sequence <span style="color: #79740e;">"</span><span style="color: #af3a03; font-weight: bold;">TODO</span><span style="color: #79740e;">(t)"</span> <span style="color: #79740e;">"|"</span> <span style="color: #79740e;">"DONE(d)"</span><span style="color: #d65d0e;">)</span>
<span style="color: #d65d0e;">(</span>sequence <span style="color: #79740e;">"</span><span style="color: #8f3f71; font-weight: bold;">THIS</span><span style="color: #79740e;">(T)"</span> <span style="color: #79740e;">"</span><span style="color: #9d0006; font-weight: bold;">EXAMPLE</span><span style="color: #79740e;">"</span><span style="color: #d65d0e;">)</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span>
<span style="color: #af3a03;">:bind</span> <span style="color: #b16286;">(</span><span style="color: #af3a03;">:map</span> <span style="color: #076678;">org-mode-map</span> <span style="color: #8ec07c;">(</span><span style="color: #79740e;">"&lt;localleader&gt; g s"</span> . <span style="color: #076678;">#'</span><span style="color: #8f3f71;">org-habit-stats-view-habit-at-point</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span>
<span style="color: #af3a03;">:hook</span> <span style="color: #b16286;">(</span>org-after-todo-state-change . org-habit-stats-update-properties<span style="color: #b16286;">)</span>
<span style="color: #af3a03;">:init</span>
<span style="color: #b16286;">(</span><span style="color: #b57614;">add-to-list</span> <span style="color: #076678;">'</span><span style="color: #076678;">org-modules</span> <span style="color: #076678;">'</span><span style="color: #8f3f71;">org-habit</span><span style="color: #b16286;">)</span>
<span style="color: #b16286;">(</span><span style="color: #b57614;">add-hook</span> <span style="color: #076678;">'</span><span style="color: #076678;">org-export-before-processing-functions</span> <span style="color: #076678;">'</span><span style="color: #8f3f71;">my-org-inline-css-hook</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #b8bb26;">add-to-list</span> <span style="color: #ebdbb2;">'</span><span style="color: #83a598;">org-modules</span> <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">org-habit</span><span style="color: #fe8019;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org323bf09" class="outline-3"> <div id="outline-container-org05f6b4c" class="outline-3">
<h3 id="org323bf09"><span class="section-number-3">5.2.</span> Org Export</h3> <h3 id="org05f6b4c"><span class="section-number-3">5.2.</span> Org Export</h3>
<div class="outline-text-3" id="text-5-2"> <div class="outline-text-3" id="text-5-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"> <pre class="src src-emacs-lisp">
<span style="color: #a89984;">;; </span><span style="color: #a89984;">Org Export</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> org <span style="color: #cc241d;">(</span><span style="color: #928374;">;; </span><span style="color: #928374;">TOC Links will lead to errors when attempting</span>
<span style="color: #928374;">;; </span><span style="color: #928374;">to export to HTML</span>
setq <span style="color: #83a598;">org-export-exclude-tags</span> <span style="color: #ebdbb2;">'</span><span style="color: #b8bb26;">(</span><span style="color: #b8bb26;">"toc"</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">defun</span> <span style="color: #b8bb26;">my-org-inline-css-hook</span> <span style="color: #cc241d;">(</span>exporter<span style="color: #cc241d;">)</span>
<span style="color: #dfd2b8;">"Insert custom inline css"</span>
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">when</span> <span style="color: #b8bb26;">(</span><span style="color: #d3869b;">eq</span> exporter <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">html</span><span style="color: #b8bb26;">)</span>
<span style="color: #b8bb26;">(</span><span style="color: #fb4934;">let*</span> <span style="color: #83a598;">(</span><span style="color: #fe8019;">(</span>dir <span style="color: #cc241d;">(</span><span style="color: #fb4934;">ignore-errors</span> <span style="color: #b8bb26;">(</span><span style="color: #d3869b;">file-name-directory</span> <span style="color: #83a598;">(</span><span style="color: #83a598;">buffer-file-name</span><span style="color: #83a598;">)</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span>
<span style="color: #fe8019;">(</span>path <span style="color: #cc241d;">(</span><span style="color: #d3869b;">concat</span> dir <span style="color: #b8bb26;">"style.css"</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span>
<span style="color: #fe8019;">(</span>fallback-style <span style="color: #cc241d;">(</span><span style="color: #fb4934;">or</span> <span style="color: #b8bb26;">(</span><span style="color: #d3869b;">null</span> dir<span style="color: #b8bb26;">)</span> <span style="color: #b8bb26;">(</span><span style="color: #d3869b;">null</span> <span style="color: #83a598;">(</span><span style="color: #d3869b;">file-exists-p</span> path<span style="color: #83a598;">)</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span>
<span style="color: #fe8019;">(</span>final <span style="color: #cc241d;">(</span><span style="color: #fb4934;">if</span> fallback-style <span style="color: #b8bb26;">"~/.config/doom/style.css"</span> path<span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span><span style="color: #83a598;">)</span> <span style="color: #928374;">;; </span><span style="color: #928374;">&lt;- set your own style file path</span>
<span style="color: #83a598;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">org-html-head-include-default-style</span> t<span style="color: #83a598;">)</span>
<span style="color: #83a598;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">org-html-head</span> <span style="color: #fe8019;">(</span><span style="color: #d3869b;">concat</span>
<span style="color: #b8bb26;">"&lt;style type=\"text/css\"&gt;\n"</span>
<span style="color: #b8bb26;">"&lt;!--/*--&gt;&lt;![CDATA[/*&gt;&lt;!--*/\n"</span>
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">with-temp-buffer</span>
<span style="color: #b8bb26;">(</span><span style="color: #d3869b;">insert-file-contents</span> final<span style="color: #b8bb26;">)</span>
<span style="color: #b8bb26;">(</span><span style="color: #d3869b;">buffer-string</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span>
<span style="color: #b8bb26;">"/*]]&gt;*/--&gt;\n"</span>
<span style="color: #b8bb26;">"&lt;/style&gt;\n"</span><span style="color: #fe8019;">)</span><span style="color: #83a598;">)</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span>
<span style="color: #928374;">;; </span><span style="color: #928374;">Org Export</span>
<span style="color: #fe8019;">(</span><span style="color: #b8bb26;">add-hook</span> <span style="color: #ebdbb2;">'</span><span style="color: #83a598;">org-export-before-processing-functions</span> <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">my-org-inline-css-hook</span><span style="color: #fe8019;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org0e7fecf" class="outline-3"> <div id="outline-container-org8d51933" class="outline-3">
<h3 id="org0e7fecf"><span class="section-number-3">5.3.</span> Org Capture</h3> <h3 id="org8d51933"><span class="section-number-3">5.3.</span> Org Capture</h3>
<div class="outline-text-3" id="text-5-3"> <div class="outline-text-3" id="text-5-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> org <span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">+org-capture-notes-file</span> <span style="color: #b8bb26;">(</span><span style="color: #b8bb26;">org-path</span> <span style="color: #b8bb26;">"Notes.org"</span><span style="color: #b8bb26;">)</span> <pre class="src src-emacs-lisp">
<span style="color: #83a598;">+org-capture-todo-file</span> <span style="color: #b8bb26;">(</span><span style="color: #b8bb26;">org-path</span> <span style="color: #b8bb26;">"Todo.org"</span><span style="color: #b8bb26;">)</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">after!</span> org <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">org-capture-templates</span>
<span style="color: #83a598;">+org-capture-journal-file</span> <span style="color: #b8bb26;">(</span><span style="color: #b8bb26;">org-path</span> <span style="color: #b8bb26;">"Journal.org"</span><span style="color: #b8bb26;">)</span> <span style="color: #076678;">'</span><span style="color: #8ec07c;">(</span><span style="color: #d65d0e;">(</span><span style="color: #79740e;">"t"</span> <span style="color: #79740e;">"Personal Todo"</span> entry
+org-capture-cooking-file <span style="color: #b8bb26;">(</span><span style="color: #b8bb26;">org-path</span> <span style="color: #b8bb26;">"Cooking.org"</span><span style="color: #b8bb26;">)</span> <span style="color: #076678;">(</span>file <span style="color: #076678;">+org-capture-todo-file</span><span style="color: #076678;">)</span>
+org-capture-nepali-file <span style="color: #b8bb26;">(</span><span style="color: #b8bb26;">org-path</span> <span style="color: #b8bb26;">"Nepali.org"</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #79740e;">"* </span><span style="color: #af3a03; font-weight: bold;">TODO</span><span style="color: #79740e;"> %?\n"</span> <span style="color: #af3a03;">:prepend</span> t<span style="color: #d65d0e;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> org <span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">org-capture-templates</span> <span style="color: #d65d0e;">(</span><span style="color: #79740e;">"r"</span> <span style="color: #79740e;">"Recipe"</span> entry
<span style="color: #ebdbb2;">'</span><span style="color: #b8bb26;">(</span><span style="color: #83a598;">(</span><span style="color: #b8bb26;">"t"</span> <span style="color: #b8bb26;">"Personal Todo"</span> entry <span style="color: #076678;">(</span>file+headline +org-capture-cooking-file <span style="color: #79740e;">"Unsorted"</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span>file <span style="color: #83a598;">+org-capture-todo-file</span><span style="color: #fe8019;">)</span> <span style="color: #79740e;">"* NEVERMADE %?</span>
<span style="color: #b8bb26;">"* </span><span style="color: #fabd2f; font-weight: bold;">TODO</span><span style="color: #b8bb26;"> %?\n"</span> <span style="color: #fe8019;">:prepend</span> t<span style="color: #83a598;">)</span> <span style="color: #79740e;">:PROPERTIES:</span>
<span style="color: #79740e;">:Author:</span>
<span style="color: #79740e;">:Source:</span>
<span style="color: #79740e;">:Sent_by:</span>
<span style="color: #79740e;">:Yield:</span>
<span style="color: #79740e;">:Prep_Time:</span>
<span style="color: #79740e;">:Cook_Time:</span>
<span style="color: #79740e;">:Total_Time:</span>
<span style="color: #79740e;">:Cost:</span>
<span style="color: #79740e;">:Description:</span>
<span style="color: #79740e;">:URL:</span>
<span style="color: #79740e;">:Added: %u</span>
<span style="color: #79740e;">:END:</span>
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"r"</span> <span style="color: #b8bb26;">"Recipe"</span> entry <span style="color: #79740e;">- [ ] Ingredient 1</span>
<span style="color: #fe8019;">(</span>file+headline +org-capture-cooking-file <span style="color: #b8bb26;">"Unsorted"</span><span style="color: #fe8019;">)</span>
<span style="color: #b8bb26;">"* NEVERMADE %?</span>
<span style="color: #b8bb26;">:PROPERTIES:</span>
<span style="color: #b8bb26;">:Author:</span>
<span style="color: #b8bb26;">:Source:</span>
<span style="color: #b8bb26;">:Sent_by:</span>
<span style="color: #b8bb26;">:Yield:</span>
<span style="color: #b8bb26;">:Prep_Time:</span>
<span style="color: #b8bb26;">:Cook_Time:</span>
<span style="color: #b8bb26;">:Total_Time:</span>
<span style="color: #b8bb26;">:Cost:</span>
<span style="color: #b8bb26;">:Description:</span>
<span style="color: #b8bb26;">:URL:</span>
<span style="color: #b8bb26;">:Added: %u</span>
<span style="color: #b8bb26;">:END:</span>
<span style="color: #b8bb26;">- [ ] Ingredient 1</span>
<span style="color: #b8bb26;">1. First Step"</span><span style="color: #83a598;">)</span> <span style="color: #79740e;">1. First Step"</span><span style="color: #d65d0e;">)</span>
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"n"</span> <span style="color: #b8bb26;">"Nepali"</span><span style="color: #83a598;">)</span> <span style="color: #d65d0e;">(</span><span style="color: #79740e;">"n"</span> <span style="color: #79740e;">"Nepali"</span><span style="color: #d65d0e;">)</span>
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"nw"</span> <span style="color: #b8bb26;">"Nepali Word"</span> entry <span style="color: #d65d0e;">(</span><span style="color: #79740e;">"nw"</span> <span style="color: #79740e;">"Nepali Word"</span> entry
<span style="color: #fe8019;">(</span>file+headline +org-capture-nepali-file <span style="color: #b8bb26;">"Nepali Words"</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span>file+headline +org-capture-nepali-file <span style="color: #79740e;">"Nepali Words"</span><span style="color: #076678;">)</span>
<span style="color: #b8bb26;">"* %^{Nepali Word} :drill:\n%\\1\n** Answer\n%^{Translation}"</span> <span style="color: #fe8019;">:prepend</span> t <span style="color: #fe8019;">:immediate-finish</span> t<span style="color: #83a598;">)</span> <span style="color: #79740e;">"* %^{Nepali Word} :drill:\n%\\1\n** Answer\n%^{Translation}"</span> <span style="color: #af3a03;">:prepend</span> t <span style="color: #af3a03;">:immediate-finish</span> t<span style="color: #d65d0e;">)</span>
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"j"</span> <span style="color: #b8bb26;">"Daily Journal"</span> entry <span style="color: #d65d0e;">(</span><span style="color: #79740e;">"j"</span> <span style="color: #79740e;">"Daily Journal"</span> entry
<span style="color: #fe8019;">(</span>file+olp+datetree <span style="color: #83a598;">+org-capture-journal-file</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span>file+olp+datetree <span style="color: #076678;">+org-capture-journal-file</span><span style="color: #076678;">)</span>
<span style="color: #b8bb26;">"* %U %?\n"</span> <span style="color: #fe8019;">:prepend</span> t<span style="color: #83a598;">)</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #79740e;">"* %U %?\n"</span> <span style="color: #af3a03;">:prepend</span> t<span style="color: #d65d0e;">)</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org148b0d0" class="outline-3">
<h3 id="org148b0d0"><span class="section-number-3">5.4.</span> Org Agenda</h3>
<div class="outline-text-3" id="text-5-4">
<div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> org <span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span>
<span style="color: #928374;">;; </span><span style="color: #928374;">org-agenda-spillover-skip-function '(org-agenda-skip-entry-if 'todo 'done)</span>
<span style="color: #83a598;">org-agenda-show-all-dates</span> t
<span style="color: #83a598;">org-agenda-span</span> <span style="color: #d3869b; font-weight: bold;">4</span>
<span style="color: #83a598;">org-agenda-start-day</span> <span style="color: #b8bb26;">"+0d"</span>
<span style="color: #83a598;">org-agenda-tag-filter-preset</span> <span style="color: #ebdbb2;">'</span><span style="color: #b8bb26;">(</span><span style="color: #b8bb26;">"-drill"</span><span style="color: #b8bb26;">)</span>
<span style="color: #83a598;">org-agenda-time-grid</span>
<span style="color: #ebdbb2;">'</span><span style="color: #b8bb26;">(</span><span style="color: #83a598;">(</span>daily today require-timed<span style="color: #83a598;">)</span>
<span style="color: #83a598;">(</span><span style="color: #d3869b; font-weight: bold;">800</span> <span style="color: #d3869b; font-weight: bold;">1000</span> <span style="color: #d3869b; font-weight: bold;">1200</span> <span style="color: #d3869b; font-weight: bold;">1400</span> <span style="color: #d3869b; font-weight: bold;">1600</span> <span style="color: #d3869b; font-weight: bold;">1800</span> <span style="color: #d3869b; font-weight: bold;">2000</span><span style="color: #83a598;">)</span>
<span style="color: #b8bb26;">" &#9476;&#9476;&#9476;&#9476;&#9476; "</span> <span style="color: #b8bb26;">"&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;&#9476;"</span><span style="color: #b8bb26;">)</span>
<span style="color: #83a598;">org-agenda-current-time-string</span>
<span style="color: #b8bb26;">"&#9664;&#9472;&#9472; now &#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472;&#9472; \\o/"</span>
<span style="color: #83a598;">org-agenda-block-separator</span> ?&#9472;
<span style="color: #928374;">;; </span><span style="color: #928374;">Consider all org files part of the org-agenda</span>
<span style="color: #83a598;">org-agenda-files</span> <span style="color: #b8bb26;">(</span><span style="color: #d3869b;">list</span> +user-org-path<span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span>
</pre>
</div> </div>
</div> <div id="outline-container-org9bf68b3" class="outline-2">
</div> <h2 id="org9bf68b3"><span class="section-number-2">6.</span> Packages</h2>
</div>
<div id="outline-container-orgdf5e10a" class="outline-2">
<h2 id="orgdf5e10a"><span class="section-number-2">6.</span> Packages</h2>
<div class="outline-text-2" id="text-6"> <div class="outline-text-2" id="text-6">
</div> </div>
<div id="outline-container-orga1e7b09" class="outline-3"> <div id="outline-container-org2332759" class="outline-3">
<h3 id="orga1e7b09"><span class="section-number-3">6.1.</span> doom-modeline</h3> <h3 id="org2332759"><span class="section-number-3">6.1.</span> doom-modeline</h3>
<div class="outline-text-3" id="text-6-1"> <div class="outline-text-3" id="text-6-1">
<p> <p>
The doom modeline can be configured to show different information like time and date, battery info and more. The doom modeline can be configured to show different information like time and date, battery info and more.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> doom-modeline <pre class="src src-emacs-lisp"><span style="color: #076678;">(</span><span style="color: #9d0006;">after!</span> doom-modeline
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">doom-modeline-battery</span> t<span style="color: #cc241d;">)</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">doom-modeline-battery</span> t<span style="color: #b16286;">)</span>
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">doom-modeline-major-mode-icon</span> t<span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">doom-modeline-major-mode-icon</span> t<span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #b8bb26;">add-hook</span> <span style="color: #ebdbb2;">'</span><span style="color: #83a598;">doom-after-init-hook</span> <span style="color: #ebdbb2;">#'</span><span style="color: #83a598;">display-battery-mode</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #b57614;">add-hook</span> <span style="color: #076678;">'</span><span style="color: #076678;">doom-after-init-hook</span> <span style="color: #076678;">#'</span><span style="color: #076678;">display-battery-mode</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #b8bb26;">add-hook</span> <span style="color: #ebdbb2;">'</span><span style="color: #83a598;">doom-after-init-hook</span> <span style="color: #ebdbb2;">#'</span><span style="color: #83a598;">display-time-mode</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #b57614;">add-hook</span> <span style="color: #076678;">'</span><span style="color: #076678;">doom-after-init-hook</span> <span style="color: #076678;">#'</span><span style="color: #076678;">display-time-mode</span><span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgd6b9543" class="outline-3"> <div id="outline-container-org5e7b531" class="outline-3">
<h3 id="orgd6b9543"><span class="section-number-3">6.2.</span> evil-snipe</h3> <h3 id="org5e7b531"><span class="section-number-3">6.2.</span> evil-snipe</h3>
<div class="outline-text-3" id="text-6-2"> <div class="outline-text-3" id="text-6-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> evil-snipe <span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">evil-snipe-scope</span> <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">whole-visible</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <pre class="src src-emacs-lisp"><span style="color: #076678;">(</span><span style="color: #9d0006;">after!</span> evil-snipe <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">evil-snipe-scope</span> <span style="color: #076678;">'</span><span style="color: #8f3f71;">whole-visible</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org47343f5" class="outline-3"> <div id="outline-container-orgfbb3b9d" class="outline-3">
<h3 id="org47343f5"><span class="section-number-3">6.3.</span> hl-todo</h3> <h3 id="orgfbb3b9d"><span class="section-number-3">6.3.</span> hl-todo</h3>
<div class="outline-text-3" id="text-6-3"> <div class="outline-text-3" id="text-6-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #b8bb26;">add-hook</span> <span style="color: #ebdbb2;">'</span><span style="color: #83a598;">org-mode-hook</span> <span style="color: #ebdbb2;">#'</span><span style="color: #83a598;">hl-todo-mode</span><span style="color: #fe8019;">)</span> <pre class="src src-emacs-lisp"><span style="color: #076678;">(</span><span style="color: #b57614;">add-hook</span> <span style="color: #076678;">'</span><span style="color: #076678;">org-mode-hook</span> <span style="color: #076678;">#'</span><span style="color: #076678;">hl-todo-mode</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> hl-todo <span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">hl-todo-keyword-faces</span> <span style="color: #ebdbb2;">'</span><span style="color: #b8bb26;">(</span><span style="color: #83a598;">(</span><span style="color: #b8bb26;">"</span><span style="color: #fabd2f; font-weight: bold;">TODO</span><span style="color: #b8bb26;">"</span> warning bold<span style="color: #83a598;">)</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">after!</span> hl-todo
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"</span><span style="color: #fb4934; font-weight: bold;">FIXME</span><span style="color: #b8bb26;">"</span> error bold<span style="color: #83a598;">)</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">hl-todo-keyword-faces</span>
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"</span><span style="color: #fb4934; font-weight: bold;">EXAMPLE</span><span style="color: #b8bb26;">"</span> <span style="color: #83a598;">font-lock-keyword-face</span> bold<span style="color: #83a598;">)</span> <span style="color: #076678;">'</span><span style="color: #8ec07c;">(</span><span style="color: #d65d0e;">(</span><span style="color: #79740e;">"</span><span style="color: #af3a03; font-weight: bold;">TODO</span><span style="color: #79740e;">"</span> warning bold<span style="color: #d65d0e;">)</span>
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"</span><span style="color: #d3869b; font-weight: bold;">HACK</span><span style="color: #b8bb26;">"</span> <span style="color: #83a598;">font-lock-constant-face</span> bold<span style="color: #83a598;">)</span> <span style="color: #d65d0e;">(</span><span style="color: #79740e;">"</span><span style="color: #9d0006; font-weight: bold;">EXAMPLE</span><span style="color: #79740e;">"</span> <span style="color: #076678;">font-lock-keyword-face</span> bold<span style="color: #d65d0e;">)</span>
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"</span><span style="color: #dfd2b8; font-weight: bold;">DEPRECATED</span><span style="color: #b8bb26;">"</span> <span style="color: #83a598;">font-lock-doc-face</span> bold<span style="color: #83a598;">)</span> <span style="color: #d65d0e;">(</span><span style="color: #79740e;">"</span><span style="color: #8f3f71; font-weight: bold;">HACK</span><span style="color: #79740e;">"</span> <span style="color: #076678;">font-lock-constant-face</span> bold<span style="color: #d65d0e;">)</span>
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"</span><span style="color: #b8bb26; font-weight: bold;">NOTE</span><span style="color: #b8bb26;">"</span> success bold<span style="color: #83a598;">)</span> <span style="color: #d65d0e;">(</span><span style="color: #79740e;">"</span><span style="color: #79740e; font-weight: bold; font-style: italic;">DEPRECATED</span><span style="color: #79740e;">"</span> <span style="color: #076678;">font-lock-doc-face</span> bold<span style="color: #d65d0e;">)</span>
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"</span><span style="color: #fb4934; font-weight: bold;">BUG</span><span style="color: #b8bb26;">"</span> error bold<span style="color: #83a598;">)</span> <span style="color: #d65d0e;">(</span><span style="color: #79740e;">"</span><span style="color: #79740e; font-weight: bold;">NOTE</span><span style="color: #79740e;">"</span> success bold<span style="color: #d65d0e;">)</span>
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"</span><span style="color: #d3869b; font-weight: bold;">THIS</span><span style="color: #b8bb26;">"</span> <span style="color: #83a598;">font-lock-constant-face</span> bold<span style="color: #83a598;">)</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #d65d0e;">(</span><span style="color: #79740e;">"</span><span style="color: #9d0006; font-weight: bold;">BUG</span><span style="color: #79740e;">"</span> error bold<span style="color: #d65d0e;">)</span>
<span style="color: #d65d0e;">(</span><span style="color: #79740e;">"</span><span style="color: #8f3f71; font-weight: bold;">THIS</span><span style="color: #79740e;">"</span> <span style="color: #076678;">font-lock-constant-face</span> bold<span style="color: #d65d0e;">)</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgb366bfa" class="outline-3"> <div id="outline-container-org99ad413" class="outline-3">
<h3 id="orgb366bfa"><span class="section-number-3">6.4.</span> notmuch</h3> <h3 id="org99ad413"><span class="section-number-3">6.4.</span> notmuch</h3>
<div class="outline-text-3" id="text-6-4"> <div class="outline-text-3" id="text-6-4">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">setq</span> +notmuch-home-function <span style="color: #cc241d;">(</span><span style="color: #fb4934;">lambda</span> <span style="color: #b8bb26;">()</span> <span style="color: #b8bb26;">(</span>notmuch-search <span style="color: #b8bb26;">"folder:INBOX"</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <pre class="src src-emacs-lisp"><span style="color: #076678;">(</span><span style="color: #9d0006;">setq</span> +notmuch-home-function <span style="color: #b16286;">(</span><span style="color: #9d0006;">lambda</span> <span style="color: #8ec07c;">()</span> <span style="color: #8ec07c;">(</span>notmuch-search <span style="color: #79740e;">"folder:INBOX"</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">setq</span> +notmuch-sync-backend <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">offlineimap</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">setq</span> +notmuch-sync-backend <span style="color: #076678;">'</span><span style="color: #8f3f71;">offlineimap</span><span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org0db7593" class="outline-3"> <div id="outline-container-orga8884d1" class="outline-3">
<h3 id="org0db7593"><span class="section-number-3">6.5.</span> nov.el</h3> <h3 id="orga8884d1"><span class="section-number-3">6.5.</span> nov.el</h3>
<div class="outline-text-3" id="text-6-5"> <div class="outline-text-3" id="text-6-5">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"> <pre class="src src-emacs-lisp">
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">use-package!</span> nov <span style="color: #076678;">(</span><span style="color: #9d0006;">use-package!</span> nov
<span style="color: #fe8019;">:mode</span> <span style="color: #cc241d;">(</span><span style="color: #b8bb26;">"\\.epub\\'"</span> . nov-mode<span style="color: #cc241d;">)</span> <span style="color: #af3a03;">:mode</span> <span style="color: #b16286;">(</span><span style="color: #79740e;">"\\.epub\\'"</span> . nov-mode<span style="color: #b16286;">)</span>
<span style="color: #fe8019;">:config</span> <span style="color: #af3a03;">:config</span>
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> nov-text-width <span style="color: #d3869b; font-weight: bold;">70</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> nov-text-width <span style="color: #8f3f71; font-weight: bold;">70</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">add-hook!</span> <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">nov-mode-hook</span> <span style="color: #ebdbb2;">'</span><span style="color: #cc241d;">(</span><span style="color: #83a598;">olivetti-mode</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #076678;">(</span><span style="color: #9d0006;">add-hook!</span> <span style="color: #076678;">'</span><span style="color: #8f3f71;">nov-mode-hook</span> <span style="color: #076678;">'</span><span style="color: #b16286;">(</span><span style="color: #076678;">olivetti-mode</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org02f2d4a" class="outline-3"> <div id="outline-container-org7b2aa40" class="outline-3">
<h3 id="org02f2d4a"><span class="section-number-3">6.6.</span> olivetti</h3> <h3 id="org7b2aa40"><span class="section-number-3">6.6.</span> olivetti</h3>
<div class="outline-text-3" id="text-6-6"> <div class="outline-text-3" id="text-6-6">
<p> <p>
Centers the text. This is used for reading books in Centers the text. This is used for reading books in
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> olivetti <span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">olivetti-body-width</span> <span style="color: #d3869b; font-weight: bold;">70</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <pre class="src src-emacs-lisp"><span style="color: #076678;">(</span><span style="color: #9d0006;">use-package!</span> olivetti
<span style="color: #af3a03;">:defer</span> t
<span style="color: #af3a03;">:config</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">olivetti-body-width</span> <span style="color: #8f3f71; font-weight: bold;">70</span><span style="color: #b16286;">)</span>
<span style="color: #af3a03;">:init</span>
<span style="color: #b16286;">(</span><span style="color: #9d0006;">add-hook!</span> <span style="color: #076678;">'</span><span style="color: #076678;">org-mode-hook</span> <span style="color: #076678;">'</span><span style="color: #8ec07c;">(</span><span style="color: #076678;">olivetti-mode</span> <span style="color: #d65d0e;">(</span><span style="color: #9d0006;">lambda</span> <span style="color: #076678;">()</span> <span style="color: #076678;">(</span><span style="color: #076678;">display-line-numbers-mode</span> <span style="color: #8f3f71; font-weight: bold;">-1</span><span style="color: #076678;">)</span><span style="color: #d65d0e;">)</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org79779a0" class="outline-3"> <div id="outline-container-org347e270" class="outline-3">
<h3 id="org79779a0"><span class="section-number-3">6.7.</span> org-auto-tangle</h3> <h3 id="org347e270"><span class="section-number-3">6.7.</span> org-auto-tangle</h3>
<div class="outline-text-3" id="text-6-7"> <div class="outline-text-3" id="text-6-7">
<p> <p>
This package automatically tangles all sourceblocks in an org file whenever that file is saved. It is very handy to not have to call the tangle command everytime you save. This package automatically tangles all sourceblocks in an org file whenever that file is saved. It is very handy to not have to call the tangle command everytime you save.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">use-package!</span> org-auto-tangle <pre class="src src-emacs-lisp"><span style="color: #076678;">(</span><span style="color: #9d0006;">use-package!</span> org-auto-tangle
<span style="color: #fe8019;">:defer</span> t <span style="color: #af3a03;">:defer</span> t
<span style="color: #fe8019;">:config</span> <span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">org-auto-tangle-default</span> nil<span style="color: #cc241d;">)</span> <span style="color: #af3a03;">:config</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">org-auto-tangle-default</span> nil<span style="color: #b16286;">)</span>
<span style="color: #fe8019;">:hook</span> <span style="color: #cc241d;">(</span><span style="color: #b8bb26;">org-mode</span> . <span style="color: #83a598;">org-auto-tangle-mode</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #af3a03;">:hook</span> <span style="color: #b16286;">(</span><span style="color: #b57614;">org-mode</span> . <span style="color: #076678;">org-auto-tangle-mode</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org476a1ac" class="outline-3"> <div id="outline-container-org4b9c602" class="outline-3">
<h3 id="org476a1ac"><span class="section-number-3">6.8.</span> org-drill</h3> <h3 id="org4b9c602"><span class="section-number-3">6.8.</span> org-drill</h3>
<div class="outline-text-3" id="text-6-8"> <div class="outline-text-3" id="text-6-8">
<p> <p>
A package for learning and memorizing using <b>spaced repetition</b>, inspired by applications like Anki. A package for learning and memorizing using <b>spaced repetition</b>, inspired by applications like Anki.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> org-drill <pre class="src src-emacs-lisp"><span style="color: #076678;">(</span><span style="color: #9d0006;">after!</span> org-drill
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> org-drill-scope <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">agenda</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> org-drill-scope <span style="color: #076678;">'</span><span style="color: #8f3f71;">agenda</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgd837176" class="outline-3"> <div id="outline-container-org9f83d55" class="outline-3">
<h3 id="orgd837176"><span class="section-number-3">6.9.</span> org-noter</h3> <h3 id="org9f83d55"><span class="section-number-3">6.9.</span> org-noter</h3>
<div class="outline-text-3" id="text-6-9"> <div class="outline-text-3" id="text-6-9">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> org-noter <pre class="src src-emacs-lisp"><span style="color: #076678;">(</span><span style="color: #9d0006;">after!</span> org-noter
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> org-noter-notes-search-path <span style="color: #ebdbb2;">'</span><span style="color: #b8bb26;">(</span><span style="color: #b8bb26;">"~/Notes/Org"</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> org-noter-notes-search-path <span style="color: #076678;">'</span><span style="color: #8ec07c;">(</span><span style="color: #79740e;">"~/Notes/Org"</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span>
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> org-noter-always-create-frame nil<span style="color: #cc241d;">)</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> org-noter-always-create-frame nil<span style="color: #b16286;">)</span>
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> org-noter-doc-split-fraction <span style="color: #ebdbb2;">'</span><span style="color: #b8bb26;">(</span><span style="color: #d3869b; font-weight: bold;">0.75</span> . <span style="color: #d3869b; font-weight: bold;">0.75</span><span style="color: #b8bb26;">)</span><span style="color: #cc241d;">)</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> org-noter-doc-split-fraction <span style="color: #076678;">'</span><span style="color: #8ec07c;">(</span><span style="color: #8f3f71; font-weight: bold;">0.75</span> . <span style="color: #8f3f71; font-weight: bold;">0.75</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span>
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> org-noter-default-notes-file-names <span style="color: #ebdbb2;">'</span><span style="color: #b8bb26;">()</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> org-noter-default-notes-file-names <span style="color: #076678;">'</span><span style="color: #8ec07c;">()</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orge89fb09" class="outline-3"> <div id="outline-container-org20a879b" class="outline-3">
<h3 id="orge89fb09"><span class="section-number-3">6.10.</span> org-roam</h3> <h3 id="org20a879b"><span class="section-number-3">6.10.</span> org-roam</h3>
<div class="outline-text-3" id="text-6-10"> <div class="outline-text-3" id="text-6-10">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> org-roam <pre class="src src-emacs-lisp"><span style="color: #076678;">(</span><span style="color: #9d0006;">after!</span> org-roam
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">org-roam-directory</span> <span style="color: #b8bb26;">"~/Notes/Org/Roam"</span><span style="color: #cc241d;">)</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">org-roam-directory</span> <span style="color: #79740e;">"~/Notes/Org/Roam"</span><span style="color: #b16286;">)</span>
<span style="color: #cc241d;">(</span><span style="color: #fb4934;">setq</span> org-roam-dailies-directory <span style="color: #b8bb26;">"Daily"</span><span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <span style="color: #b16286;">(</span><span style="color: #9d0006;">setq</span> org-roam-dailies-directory <span style="color: #79740e;">"Daily"</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org6d2cfa2" class="outline-3"> <div id="outline-container-org16a2f8f" class="outline-3">
<h3 id="org6d2cfa2"><span class="section-number-3">6.11.</span> drag-stuff</h3> <h3 id="org16a2f8f"><span class="section-number-3">6.11.</span> drag-stuff</h3>
<div class="outline-text-3" id="text-6-11"> <div class="outline-text-3" id="text-6-11">
<p> <p>
With drag stuff you can use <code>M-UP</code> and <code>M-DOWN</code> to move lines. You can also mark a region and use <code>M-LEFT</code> and <code>M-RIGHT</code> to move it left and right. With drag stuff you can use <code>M-UP</code> and <code>M-DOWN</code> to move lines. You can also mark a region and use <code>M-LEFT</code> and <code>M-RIGHT</code> to move it left and right.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #83a598;">drag-stuff-global-mode</span> t<span style="color: #fe8019;">)</span> <pre class="src src-emacs-lisp"><span style="color: #076678;">(</span><span style="color: #076678;">drag-stuff-global-mode</span> t<span style="color: #076678;">)</span>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgf60ee49" class="outline-2">
<h2 id="orgf60ee49"><span class="section-number-2">7.</span> Functions</h2>
<div class="outline-text-2" id="text-7">
<div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #076678;">(</span><span style="color: #9d0006;">defun</span> <span style="color: #b57614;">my-org-inline-css-hook</span> <span style="color: #b16286;">(</span>exporter<span style="color: #b16286;">)</span>
<span style="color: #79740e; font-style: italic;">"Insert custom inline css"</span>
<span style="color: #b16286;">(</span><span style="color: #9d0006;">when</span> <span style="color: #8ec07c;">(</span><span style="color: #8f3f71;">eq</span> exporter <span style="color: #076678;">'</span><span style="color: #8f3f71;">html</span><span style="color: #8ec07c;">)</span>
<span style="color: #8ec07c;">(</span><span style="color: #9d0006;">let*</span> <span style="color: #d65d0e;">(</span><span style="color: #076678;">(</span>dir <span style="color: #b16286;">(</span><span style="color: #9d0006;">ignore-errors</span> <span style="color: #8ec07c;">(</span><span style="color: #8f3f71;">file-name-directory</span> <span style="color: #d65d0e;">(</span><span style="color: #076678;">buffer-file-name</span><span style="color: #d65d0e;">)</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #076678;">(</span>path <span style="color: #b16286;">(</span><span style="color: #8f3f71;">concat</span> dir <span style="color: #79740e;">"style.css"</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #076678;">(</span>fallback-style <span style="color: #b16286;">(</span><span style="color: #9d0006;">or</span> <span style="color: #8ec07c;">(</span><span style="color: #8f3f71;">null</span> dir<span style="color: #8ec07c;">)</span> <span style="color: #8ec07c;">(</span><span style="color: #8f3f71;">null</span> <span style="color: #d65d0e;">(</span><span style="color: #8f3f71;">file-exists-p</span> path<span style="color: #d65d0e;">)</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
<span style="color: #076678;">(</span>final <span style="color: #b16286;">(</span><span style="color: #9d0006;">if</span> fallback-style <span style="color: #79740e;">"~/.config/doom/style.css"</span> path<span style="color: #b16286;">)</span><span style="color: #076678;">)</span><span style="color: #d65d0e;">)</span> <span style="color: #a89984;">;; </span><span style="color: #a89984;">&lt;- set your own style file path</span>
<span style="color: #d65d0e;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">org-html-head-include-default-style</span> t<span style="color: #d65d0e;">)</span>
<span style="color: #d65d0e;">(</span><span style="color: #9d0006;">setq</span> <span style="color: #076678;">org-html-head</span> <span style="color: #076678;">(</span><span style="color: #8f3f71;">concat</span>
<span style="color: #79740e;">"&lt;style type=\"text/css\"&gt;\n"</span>
<span style="color: #79740e;">"&lt;!--/*--&gt;&lt;![CDATA[/*&gt;&lt;!--*/\n"</span>
<span style="color: #b16286;">(</span><span style="color: #9d0006;">with-temp-buffer</span>
<span style="color: #8ec07c;">(</span><span style="color: #8f3f71;">insert-file-contents</span> final<span style="color: #8ec07c;">)</span>
<span style="color: #8ec07c;">(</span><span style="color: #8f3f71;">buffer-string</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span>
<span style="color: #79740e;">"/*]]&gt;*/--&gt;\n"</span>
<span style="color: #79740e;">"&lt;/style&gt;\n"</span><span style="color: #076678;">)</span><span style="color: #d65d0e;">)</span><span style="color: #8ec07c;">)</span><span style="color: #b16286;">)</span><span style="color: #076678;">)</span>
</pre>
</div>
</div>
</div>
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: Jonathan Jenne / Inhji</p> <p class="author">Author: Jonathan Jenne / Inhji</p>
<p class="date">Created: 2024-03-10 So 13:06</p> <p class="date">Created: 2024-03-11 Mo 13:42</p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -15,22 +15,19 @@ This config file is built on doom-emacs ~3.0.0-pre~ and emacs ~29.2~.
- [[#base-config][Base Config]] - [[#base-config][Base Config]]
- [[#appearance][Appearance]] - [[#appearance][Appearance]]
- [[#org-mode][Org Mode]] - [[#org-mode][Org Mode]]
- [[#general-settings][General Settings]]
- [[#org-export][Org Export]]
- [[#org-capture][Org Capture]]
- [[#org-agenda][Org Agenda]]
- [[#packages][Packages]] - [[#packages][Packages]]
- [[#doom-modeline][doom-modeline]] - [[#doom-modeline][doom-modeline]]
- [[#drag-stuff][drag-stuff]]
- [[#evil-snipe][evil-snipe]] - [[#evil-snipe][evil-snipe]]
- [[#heaven-and-hell][heaven-and-hell]]
- [[#hl-todo][hl-todo]] - [[#hl-todo][hl-todo]]
- [[#notmuch][notmuch]]
- [[#novel][nov.el]] - [[#novel][nov.el]]
- [[#olivetti][olivetti]] - [[#olivetti][olivetti]]
- [[#org-auto-tangle][org-auto-tangle]] - [[#org-auto-tangle][org-auto-tangle]]
- [[#org-drill][org-drill]] - [[#org-drill][org-drill]]
- [[#org-noter][org-noter]] - [[#org-noter][org-noter]]
- [[#org-roam][org-roam]] - [[#org-roam][org-roam]]
- [[#drag-stuff][drag-stuff]] - [[#functions][Functions]]
* Header * Header
This header will be the first codeblock in the config file. This header will be the first codeblock in the config file.
@ -61,7 +58,6 @@ These keybindings extend the default doom bindings, either because the defaults
(map! :n "<f7>" #'org-drill) (map! :n "<f7>" #'org-drill)
(map! "C-M-+" #'doom/increase-font-size) (map! "C-M-+" #'doom/increase-font-size)
(map! "C-#" #'comment-line) (map! "C-#" #'comment-line)
(map! :n "<f8>" #'emms-playlist-mode-go)
(evil-define-key 'normal dired-mode-map (evil-define-key 'normal dired-mode-map
(kbd "DEL") 'dired-up-directory) (kbd "DEL") 'dired-up-directory)
#+end_src #+end_src
@ -78,6 +74,9 @@ These keybindings extend the default doom bindings, either because the defaults
;; Useful if default system shell is not bash ;; Useful if default system shell is not bash
(setq shell-file-name (executable-find "bash")) (setq shell-file-name (executable-find "bash"))
;; This is where all org files are sourced from
(setq +user-org-path "~/Notes/Org")
;; Display Line numbers ;; Display Line numbers
(setq display-line-numbers-type t) (setq display-line-numbers-type t)
#+end_src #+end_src
@ -85,7 +84,6 @@ These keybindings extend the default doom bindings, either because the defaults
* Appearance * Appearance
#+begin_src emacs-lisp #+begin_src emacs-lisp
;; Fonts ;; Fonts
(setq doom-font (setq doom-font
@ -96,113 +94,67 @@ These keybindings extend the default doom bindings, either because the defaults
(font-spec :family "IBM Plex Serif" :size 18 :weight 'medium)) (font-spec :family "IBM Plex Serif" :size 18 :weight 'medium))
;; Dashboard ;; Dashboard
(defun my-weebery-is-always-greater ()
(let* ((banner '("EMACS "
"███▄ ▄███▓ ▒█████ ▒█████ ▓█████▄ "
"▓██▒▀█▀ ██▒▒██▒ ██▒▒██▒ ██▒▒██▀ ██▌"
"▓██ ▓██░▒██░ ██▒▒██░ ██▒░██ █▌"
"▒██ ▒██ ▒██ ██░▒██ ██░░▓█▄ ▌"
"▒██▒ ░██▒░ ████▓▒░░ ████▓▒░░▒████▓ "
"░ ▒░ ░ ░░ ▒░▒░▒░ ░ ▒░▒░▒░ ▒▒▓ ▒ "
"░ ░ ░ ░ ▒ ▒░ ░ ▒ ▒░ ░ ▒ ▒ "
"░ ░ ░ ░ ░ ▒ ░ ░ ░ ▒ ░ ░ ░ "
" ░ ░ ░ ░ ░ ░ "
" ░ "))
(longest-line (apply #'max (mapcar #'length banner))))
(put-text-property
(point)
(dolist (line banner (point))
(insert (+doom-dashboard--center
+doom-dashboard--width
(concat line (make-string (max 0 (- longest-line (length line))) 32)))
"\n"))
'face 'doom-dashboard-banner)))
(setq +doom-dashboard-ascii-banner-fn #'my-weebery-is-always-greater) (setq +doom-dashboard-ascii-banner-fn #'my-weebery-is-always-greater)
(remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-shortmenu) (remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-shortmenu)
(remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-footer) (remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-footer)
(remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-loaded) (remove-hook '+doom-dashboard-functions #'doom-dashboard-widget-loaded)
;; Themes ;; Themes
(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
'((light . doom-gruvbox-light)
(dark . doom-gruvbox))) ;; Themes can be the list: (dark . (tsdh-dark wombat))
;; Optionall, load themes without asking for confirmation.
(setq heaven-and-hell-load-theme-no-confirm t)
:hook (after-init . heaven-and-hell-init-hook)
:bind (("<f6>" . heaven-and-hell-toggle-theme)))
#+end_src #+end_src
* Org Mode * Org Mode
** General Settings
#+begin_src emacs-lisp
(setq +user-org-path "~/Notes/Org")
(defun org-path (filename) (expand-file-name filename +user-org-path))
(after! org Org Mode is a tool for note taking, habit tracking, writing, outlining and much much more. You might have heard of it already.
(map! :map org-mode-map :localleader "g s" #'org-habit-stats-view-habit-at-point)
(setq org-directory +user-org-path
org-src-tab-acts-natively t
org-todo-keywords '((sequence "TODO(t)" "|" "DONE(d)")
(sequence "THIS(T)" "EXAMPLE"))))
(add-hook! 'org-mode-hook '(olivetti-mode (lambda () (display-line-numbers-mode -1)))) There are a few things to point out here:
(add-hook! 'org-after-todo-state-change-hook '(org-habit-stats-update-properties)) - org-drill items are excluded from the agenda
- toc headings are excluded from exports
(add-to-list 'org-modules 'org-habit)
#+end_src
** Org Export
#+begin_src emacs-lisp #+begin_src emacs-lisp
(use-package! org
:config
(setq ;; General
org-directory +user-org-path
org-src-tab-acts-natively t
(after! org (;; TOC Links will lead to errors when attempting ;; Org Export
;; to export to HTML org-export-exclude-tags '("toc")
setq org-export-exclude-tags '("toc")))
(defun my-org-inline-css-hook (exporter) ;; Org Agenda
"Insert custom inline css" org-agenda-show-all-dates t
(when (eq exporter 'html) org-agenda-span 4
(let* ((dir (ignore-errors (file-name-directory (buffer-file-name)))) org-agenda-start-day "+0d"
(path (concat dir "style.css")) org-agenda-tag-filter-preset '("-drill")
(fallback-style (or (null dir) (null (file-exists-p path)))) org-agenda-time-grid
(final (if fallback-style "~/.config/doom/style.css" path))) ;; <- set your own style file path '((daily today require-timed)
(setq org-html-head-include-default-style t) (800 1000 1200 1400 1600 1800 2000)
(setq org-html-head (concat " ┄┄┄┄┄ " "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄")
"<style type=\"text/css\">\n" org-agenda-current-time-string
"<!--/*--><![CDATA[/*><!--*/\n" "◀── now ──────────────────────────────────────────────── \\o/"
(with-temp-buffer org-agenda-block-separator ?─
(insert-file-contents final) ;; Consider all org files part of the org-agenda
(buffer-string)) org-agenda-files (list +user-org-path)
"/*]]>*/-->\n" ;; org-agenda-spillover-skip-function '(org-agenda-skip-entry-if 'todo 'done)
"</style>\n")))))
;; Org Export ;; Org Todo
(add-hook 'org-export-before-processing-functions 'my-org-inline-css-hook) org-todo-keywords
'((sequence "TODO(t)" "|" "DONE(d)")
(sequence "THIS(T)" "EXAMPLE"))
#+end_src ;; Org Capture
+org-capture-notes-file (org-path "Notes.org")
+org-capture-todo-file (org-path "Todo.org")
+org-capture-journal-file (org-path "Journal.org")
+org-capture-cooking-file (org-path "Cooking.org")
+org-capture-nepali-file (org-path "Nepali.org")
org-capture-templates
'(("t" "Personal Todo" entry
(file +org-capture-todo-file)
"* TODO %?\n" :prepend t)
** Org Capture ("r" "Recipe" entry
#+begin_src emacs-lisp
(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")
+org-capture-cooking-file (org-path "Cooking.org")
+org-capture-nepali-file (org-path "Nepali.org")))
(after! org (setq org-capture-templates
'(("t" "Personal Todo" entry
(file +org-capture-todo-file)
"* TODO %?\n" :prepend t)
("r" "Recipe" entry
(file+headline +org-capture-cooking-file "Unsorted") (file+headline +org-capture-cooking-file "Unsorted")
"* NEVERMADE %? "* NEVERMADE %?
:PROPERTIES: :PROPERTIES:
@ -224,34 +176,23 @@ These keybindings extend the default doom bindings, either because the defaults
1. First Step") 1. First Step")
("n" "Nepali") ("n" "Nepali")
("nw" "Nepali Word" entry ("nw" "Nepali Word" entry
(file+headline +org-capture-nepali-file "Nepali Words") (file+headline +org-capture-nepali-file "Nepali Words")
"* %^{Nepali Word} :drill:\n%\\1\n** Answer\n%^{Translation}" :prepend t :immediate-finish t) "* %^{Nepali Word} :drill:\n%\\1\n** Answer\n%^{Translation}" :prepend t :immediate-finish t)
("j" "Daily Journal" entry ("j" "Daily Journal" entry
(file+olp+datetree +org-capture-journal-file) (file+olp+datetree +org-capture-journal-file)
"* %U %?\n" :prepend t)))) "* %U %?\n" :prepend t)))
:bind (:map org-mode-map ("<localleader> g s" . #'org-habit-stats-view-habit-at-point))
:hook (org-after-todo-state-change . org-habit-stats-update-properties)
:init
(add-to-list 'org-modules 'org-habit)
(add-hook 'org-export-before-processing-functions 'my-org-inline-css-hook))
#+end_src
** Org Agenda
#+begin_src emacs-lisp
(after! org (setq
;; org-agenda-spillover-skip-function '(org-agenda-skip-entry-if 'todo 'done)
org-agenda-show-all-dates t
org-agenda-span 4
org-agenda-start-day "+0d"
org-agenda-tag-filter-preset '("-drill")
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)))
#+end_src #+end_src
* Packages * Packages
@ -268,16 +209,39 @@ The doom modeline can be configured to show different information like time and
(add-hook 'doom-after-init-hook #'display-time-mode) (add-hook 'doom-after-init-hook #'display-time-mode)
#+end_src #+end_src
** drag-stuff
With drag stuff you can use ~M-UP~ and ~M-DOWN~ to move lines. You can also mark a region and use ~M-LEFT~ and ~M-RIGHT~ to move it left and right.
#+begin_src emacs-lisp
(drag-stuff-global-mode t)
#+end_src
** evil-snipe ** evil-snipe
#+begin_src emacs-lisp #+begin_src emacs-lisp
(after! evil-snipe (setq evil-snipe-scope 'whole-visible)) (after! evil-snipe (setq evil-snipe-scope 'whole-visible))
#+end_src
** heaven-and-hell
Heaven and hell is a theme switcher, which allows you to select a dark and light theme and toggle between them using a key.
#+begin_src emacs-lisp
(use-package! heaven-and-hell
:ensure t
:config
(setq heaven-and-hell-theme-type 'dark ;; Omit to use light by default
heaven-and-hell-themes
'((light . doom-gruvbox-light)
(dark . doom-gruvbox)) ;; Themes can be the list: (dark . (tsdh-dark wombat))
heaven-and-hell-load-theme-no-confirm t)
:hook (after-init . heaven-and-hell-init-hook)
:bind (("<f6>" . heaven-and-hell-toggle-theme)))
#+end_src #+end_src
** hl-todo ** hl-todo
#+begin_src emacs-lisp #+begin_src emacs-lisp
(add-hook 'org-mode-hook #'hl-todo-mode) (use-package! hl-todo
:config
(after! hl-todo
(setq hl-todo-keyword-faces (setq hl-todo-keyword-faces
'(("TODO" warning bold) '(("TODO" warning bold)
("EXAMPLE" font-lock-keyword-face bold) ("EXAMPLE" font-lock-keyword-face bold)
@ -285,15 +249,10 @@ The doom modeline can be configured to show different information like time and
("DEPRECATED" font-lock-doc-face bold) ("DEPRECATED" font-lock-doc-face bold)
("NOTE" success bold) ("NOTE" success bold)
("BUG" error bold) ("BUG" error bold)
("THIS" font-lock-constant-face bold)))) ("THIS" font-lock-constant-face bold)))
:hook (org-mode . hl-todo-mode))
#+end_src #+end_src
** notmuch
#+begin_src emacs-lisp
(setq +notmuch-home-function (lambda () (notmuch-search "folder:INBOX")))
(setq +notmuch-sync-backend 'offlineimap)
#+end_src
** nov.el ** nov.el
#+begin_src emacs-lisp #+begin_src emacs-lisp
@ -310,7 +269,13 @@ The doom modeline can be configured to show different information like time and
Centers the text. This is used for reading books in Centers the text. This is used for reading books in
#+begin_src emacs-lisp #+begin_src emacs-lisp
(after! olivetti (setq olivetti-body-width 70)) ;; (after! olivetti (setq olivetti-body-width 70))
(use-package! olivetti
:init
(add-hook! 'org-mode-hook '(olivetti-mode (lambda () (display-line-numbers-mode -1)))))
;; (add-hook! 'org-mode-hook '(olivetti-mode (lambda () (display-line-numbers-mode -1))))
#+end_src #+end_src
** org-auto-tangle ** org-auto-tangle
@ -335,6 +300,7 @@ A package for learning and memorizing using *spaced repetition*, inspired by app
** org-noter ** org-noter
A annotation tool for org-mode
#+begin_src emacs-lisp #+begin_src emacs-lisp
(after! org-noter (after! org-noter
@ -346,15 +312,60 @@ A package for learning and memorizing using *spaced repetition*, inspired by app
#+end_src #+end_src
** org-roam ** org-roam
#+begin_src emacs-lisp #+begin_src emacs-lisp
;; (use-package! roam
;; :config (setq org-roam-directory "~/Notes/Org/Roam"
;; org-roam-dailies-directory "Daily"))
(after! org-roam (after! org-roam
(setq org-roam-directory "~/Notes/Org/Roam") (setq org-roam-directory "~/Notes/Org/Roam")
(setq org-roam-dailies-directory "Daily")) (setq org-roam-dailies-directory "Daily"))
#+end_src #+end_src
** drag-stuff * Functions
With drag stuff you can use ~M-UP~ and ~M-DOWN~ to move lines. You can also mark a region and use ~M-LEFT~ and ~M-RIGHT~ to move it left and right.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(drag-stuff-global-mode t)
(defun org-path (filename)
"Expand filename relative to the default org-path"
(expand-file-name filename +user-org-path))
(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")))))
(defun my-weebery-is-always-greater ()
(let* ((banner '("EMACS "
"███▄ ▄███▓ ▒█████ ▒█████ ▓█████▄ "
"▓██▒▀█▀ ██▒▒██▒ ██▒▒██▒ ██▒▒██▀ ██▌"
"▓██ ▓██░▒██░ ██▒▒██░ ██▒░██ █▌"
"▒██ ▒██ ▒██ ██░▒██ ██░░▓█▄ ▌"
"▒██▒ ░██▒░ ████▓▒░░ ████▓▒░░▒████▓ "
"░ ▒░ ░ ░░ ▒░▒░▒░ ░ ▒░▒░▒░ ▒▒▓ ▒ "
"░ ░ ░ ░ ▒ ▒░ ░ ▒ ▒░ ░ ▒ ▒ "
"░ ░ ░ ░ ░ ▒ ░ ░ ░ ▒ ░ ░ ░ "
" ░ ░ ░ ░ ░ ░ "
" ░ "))
(longest-line (apply #'max (mapcar #'length banner))))
(put-text-property
(point)
(dolist (line banner (point))
(insert (+doom-dashboard--center
+doom-dashboard--width
(concat line (make-string (max 0 (- longest-line (length line))) 32)))
"\n"))
'face 'doom-dashboard-banner)))
#+end_src #+end_src