This commit is contained in:
Inhji 2024-03-11 11:06:39 +05:45
parent e1f0a08b7c
commit af7c558f24
5 changed files with 528 additions and 207 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"))
;; Display Line numbers
(setq display-line-numbers-type t)
;; Fonts ;; Fonts
(setq doom-font (setq doom-font
(font-spec :family "IBM Plex Mono" :size 18 :weight 'medium)) (font-spec :family "IBM Plex Mono" :size 18 :weight 'medium))
@ -23,9 +26,35 @@
(setq variable-pitch (setq variable-pitch
(font-spec :family "IBM Plex Serif" :size 18 :weight 'medium)) (font-spec :family "IBM Plex Serif" :size 18 :weight 'medium))
;; Display Line numbers ;; Dashboard
(setq display-line-numbers-type t) (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)
(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-loaded)
;; Themes
(use-package! heaven-and-hell (use-package! heaven-and-hell
:ensure t :ensure t
:config :config
@ -44,10 +73,9 @@
(after! org (after! org
(map! :map org-mode-map :localleader "g s" #'org-habit-stats-view-habit-at-point) (map! :map org-mode-map :localleader "g s" #'org-habit-stats-view-habit-at-point)
(setq org-directory +user-org-path (setq org-directory +user-org-path
org-src-tab-acts-natively t) org-src-tab-acts-natively t
org-todo-sets '(("TODO" "PROJ" "LOOP" "STRT" "WAIT" "HOLD" "IDEA" "DONE" "KILL") org-todo-keywords '((sequence "TODO(t)" "|" "DONE(d)")
("[ ]" "[-]" "[?]" "[X]") (sequence "THIS(T)" "EXAMPLE"))))
("THIS" "EXAMPLE")))
(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))))
@ -88,7 +116,7 @@
(after! org (setq org-capture-templates (after! org (setq org-capture-templates
'(("t" "Personal Todo" entry '(("t" "Personal Todo" entry
(file+headline +org-capture-todo-file "Inbox") (file +org-capture-todo-file)
"* TODO %?\n" :prepend t) "* TODO %?\n" :prepend t)
("r" "Recipe" entry ("r" "Recipe" entry
@ -124,10 +152,11 @@
"* %U %?\n" :prepend t)))) "* %U %?\n" :prepend t))))
(after! org (setq (after! org (setq
org-agenda-show-all-dates nil ;; org-agenda-spillover-skip-function '(org-agenda-skip-entry-if 'todo 'done)
org-agenda-show-all-dates t
org-agenda-span 4 org-agenda-span 4
org-agenda-start-day "+0d" org-agenda-start-day "+0d"
org-agenda-spillover-skip-function '(org-agenda-skip-entry-if 'todo 'done) org-agenda-tag-filter-preset '("-drill")
org-agenda-time-grid org-agenda-time-grid
'((daily today require-timed) '((daily today require-timed)
(800 1000 1200 1400 1600 1800 2000) (800 1000 1200 1400 1600 1800 2000)
@ -138,34 +167,6 @@
;; Consider all org files part of the org-agenda ;; Consider all org files part of the org-agenda
org-agenda-files (list +user-org-path))) org-agenda-files (list +user-org-path)))
(add-hook 'org-mode-hook #'hl-todo-mode)
(after! hl-todo (setq hl-todo-keyword-faces '(("TODO" warning bold)
("FIXME" error bold)
("EXAMPLE" font-lock-keyword-face bold)
("HACK" font-lock-constant-face bold)
("DEPRECATED" font-lock-doc-face bold)
("NOTE" success bold)
("BUG" error bold)
("THIS" font-lock-constant-face bold))))
(use-package! nov
:mode ("\\.epub\\'" . nov-mode)
:config
(setq nov-text-width 60))
(add-hook! 'nov-mode-hook '(olivetti-mode))
(after! olivetti (setq olivetti-body-width 60))
(use-package! org-auto-tangle
:defer t
:config (setq org-auto-tangle-default nil)
:hook (org-mode . org-auto-tangle-mode))
(after! org-drill
(setq org-drill-scope 'agenda))
(after! doom-modeline (after! doom-modeline
(setq doom-modeline-battery t) (setq doom-modeline-battery t)
(setq doom-modeline-major-mode-icon t)) (setq doom-modeline-major-mode-icon t))
@ -175,6 +176,38 @@
(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)
(after! hl-todo
(setq hl-todo-keyword-faces
'(("TODO" warning bold)
("EXAMPLE" font-lock-keyword-face bold)
("HACK" font-lock-constant-face bold)
("DEPRECATED" font-lock-doc-face bold)
("NOTE" success bold)
("BUG" error bold)
("THIS" font-lock-constant-face bold))))
(setq +notmuch-home-function (lambda () (notmuch-search "folder:INBOX")))
(setq +notmuch-sync-backend 'offlineimap)
(use-package! nov
:mode ("\\.epub\\'" . nov-mode)
:config
(setq nov-text-width 70))
(add-hook! 'nov-mode-hook '(olivetti-mode))
(after! olivetti (setq olivetti-body-width 70))
(use-package! org-auto-tangle
:defer t
:config (setq org-auto-tangle-default nil)
:hook (org-mode . org-auto-tangle-mode))
(after! org-drill
(setq org-drill-scope 'agenda))
(after! org-noter (after! org-noter
(setq org-noter-notes-search-path '("~/Notes/Org")) (setq org-noter-notes-search-path '("~/Notes/Org"))
(setq org-noter-always-create-frame nil) (setq org-noter-always-create-frame nil)
@ -185,4 +218,4 @@
(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"))
(setq +notmuch-home-function (lambda () (notmuch-search "folder:INBOX"))) (drag-stuff-global-mode t)

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-02-27 Di 13:59 --> <!-- 2024-03-10 So 13:06 -->
<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,36 +210,56 @@ 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="#org3e4acbe">1. Keybindings</a></li> <li><a href="#orgb19e895">1. Header</a></li>
<li><a href="#org5cb07a1">2. Base Config</a> <li><a href="#org0090c3c">2. Keybindings</a></li>
<li><a href="#org07bce3b">3. Base Config</a></li>
<li><a href="#org7bed290">4. Appearance</a></li>
<li><a href="#org7faf069">5. Org Mode</a>
<ul> <ul>
<li><a href="#org7b1406d">2.1. Hooks</a></li> <li><a href="#org1749679">5.1. General Settings</a></li>
<li><a href="#org323bf09">5.2. Org Export</a></li>
<li><a href="#org0e7fecf">5.3. Org Capture</a></li>
<li><a href="#org148b0d0">5.4. Org Agenda</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgf2aed3b">3. Themes</a></li> <li><a href="#orgdf5e10a">6. Packages</a>
<li><a href="#orgf1767f4">4. Org Mode</a>
<ul> <ul>
<li><a href="#org7edeaf3">4.1. General Settings</a></li> <li><a href="#orga1e7b09">6.1. doom-modeline</a></li>
<li><a href="#org86c81c0">4.2. Org Export</a></li> <li><a href="#orgd6b9543">6.2. evil-snipe</a></li>
<li><a href="#orgeacff10">4.3. Org Agenda</a></li> <li><a href="#org47343f5">6.3. hl-todo</a></li>
</ul> <li><a href="#orgb366bfa">6.4. notmuch</a></li>
</li> <li><a href="#org0db7593">6.5. nov.el</a></li>
<li><a href="#orge7a3973">5. Packages</a> <li><a href="#org02f2d4a">6.6. olivetti</a></li>
<ul> <li><a href="#org79779a0">6.7. org-auto-tangle</a></li>
<li><a href="#org10ca8a9">5.1. hl-todo</a></li> <li><a href="#org476a1ac">6.8. org-drill</a></li>
<li><a href="#orgb292dd1">5.2. org-auto-tangle</a></li> <li><a href="#orgd837176">6.9. org-noter</a></li>
<li><a href="#org931b602">5.3. org-drill</a></li> <li><a href="#orge89fb09">6.10. org-roam</a></li>
<li><a href="#org173df8d">5.4. doom-modeline</a></li> <li><a href="#org6d2cfa2">6.11. drag-stuff</a></li>
<li><a href="#orgf3784d6">5.5. evil-snipe</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-org3e4acbe" class="outline-2"> <p>
<h2 id="org3e4acbe"><span class="section-number-2">1.</span> Keybindings</h2> This config file is built on doom-emacs <code>3.0.0-pre</code> and emacs <code>29.2</code>.
</p>
<div id="outline-container-orgb19e895" class="outline-2">
<h2 id="orgb19e895"><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.
</p>
<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>
</div>
</div>
</div>
<div id="outline-container-org0090c3c" class="outline-2">
<h2 id="org0090c3c"><span class="section-number-2">2.</span> Keybindings</h2>
<div class="outline-text-2" id="text-2">
<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.
</p> </p>
@ -296,16 +316,50 @@ These keybindings extend the default doom bindings, either because the defaults
<td class="org-left">Start Org-Drill</td> <td class="org-left">Start Org-Drill</td>
<td class="org-left">&#xa0;</td> <td class="org-left">&#xa0;</td>
</tr> </tr>
<tr>
<td class="org-left">SPC m g s</td>
<td class="org-left">Go to habit stats</td>
<td class="org-left">Org</td>
</tr>
<tr>
<td class="org-left">M-UP</td>
<td class="org-left">Move line up</td>
<td class="org-left">&#xa0;</td>
</tr>
<tr>
<td class="org-left">M-DOWN</td>
<td class="org-left">Move line down</td>
<td class="org-left">&#xa0;</td>
</tr>
<tr>
<td class="org-left">M-LEFT</td>
<td class="org-left">Move region left</td>
<td class="org-left">&#xa0;</td>
</tr>
</tbody> </tbody>
</table> </table>
</div>
</div>
<div id="outline-container-org5cb07a1" class="outline-2">
<h2 id="org5cb07a1"><span class="section-number-2">2.</span> Base Config</h2>
<div class="outline-text-2" id="text-2">
<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>
<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>
<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: #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: #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: #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: #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: #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>
</pre>
</div>
</div>
</div>
<div id="outline-container-org07bce3b" class="outline-2">
<h2 id="org07bce3b"><span class="section-number-2">3.</span> Base Config</h2>
<div class="outline-text-2" id="text-3">
<div class="org-src-container">
<pre class="src src-emacs-lisp">
<span style="color: #928374;">;; </span><span style="color: #928374;">Basic User Settings</span> <span style="color: #928374;">;; </span><span style="color: #928374;">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: #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: #83a598;">user-mail-address</span> <span style="color: #b8bb26;">"johnnie@posteo.de"</span><span style="color: #fe8019;">)</span> <span style="color: #83a598;">user-mail-address</span> <span style="color: #b8bb26;">"johnnie@posteo.de"</span><span style="color: #fe8019;">)</span>
@ -316,41 +370,52 @@ These keybindings extend the default doom bindings, either because the defaults
<span style="color: #928374;">;; </span><span style="color: #928374;">Display Line numbers</span> <span style="color: #928374;">;; </span><span style="color: #928374;">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: #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: #928374;">;; </span><span style="color: #928374;">General Keybindings</span>
<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>
<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: #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: #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: #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: #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>
</pre>
</div>
</div>
<div id="outline-container-org7b1406d" class="outline-3">
<h3 id="org7b1406d"><span class="section-number-3">2.1.</span> Hooks</h3>
<div class="outline-text-3" id="text-2-1">
<div class="org-src-container">
<pre class="src src-emacs-lisp"><span style="color: #928374;">;; </span><span style="color: #928374;">Org Mode</span>
<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;">org-modern-mode</span><span style="color: #fe8019;">)</span>
<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>
<span style="color: #928374;">;; </span><span style="color: #928374;">Org Agenda</span>
<span style="color: #fe8019;">(</span><span style="color: #b8bb26;">add-hook</span> <span style="color: #ebdbb2;">'</span><span style="color: #83a598;">org-agenda-finalize-hook</span> <span style="color: #ebdbb2;">#'</span><span style="color: #689d6a;">org-modern-agenda</span><span style="color: #fe8019;">)</span>
<span style="color: #928374;">;; </span><span style="color: #928374;">Modeline</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: #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>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
</div> <div id="outline-container-org7bed290" class="outline-2">
<div id="outline-container-orgf2aed3b" class="outline-2"> <h2 id="org7bed290"><span class="section-number-2">4.</span> Appearance</h2>
<h2 id="orgf2aed3b"><span class="section-number-2">3.</span> Themes</h2> <div class="outline-text-2" id="text-4">
<div class="outline-text-2" id="text-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;">use-package!</span> heaven-and-hell <pre class="src src-emacs-lisp"><span style="color: #928374;">;; </span><span style="color: #928374;">Fonts</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">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: #fe8019;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">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: #fe8019;">(</span><span style="color: #fb4934;">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: #928374;">;; </span><span style="color: #928374;">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: #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: #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: #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: #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: #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: #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: #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: #b8bb26;">"&#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: #b8bb26;">" &#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: #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: #b8bb26;">(</span><span style="color: #d3869b;">put-text-property</span>
<span style="color: #83a598;">(</span><span style="color: #d3869b;">point</span><span style="color: #83a598;">)</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: #fe8019;">(</span><span style="color: #d3869b;">insert</span> <span style="color: #cc241d;">(</span><span style="color: #b8bb26;">+doom-dashboard--center</span>
<span style="color: #83a598;">+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: #b8bb26;">"\n"</span><span style="color: #fe8019;">)</span><span style="color: #83a598;">)</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: #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: #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: #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: #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: #928374;">;; </span><span style="color: #928374;">Themes</span>
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">use-package!</span> heaven-and-hell
<span style="color: #fe8019;">:ensure</span> t <span style="color: #fe8019;">:ensure</span> t
<span style="color: #fe8019;">:config</span> <span style="color: #fe8019;">: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: #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>
@ -365,28 +430,38 @@ These keybindings extend the default doom bindings, either because the defaults
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgf1767f4" class="outline-2"> <div id="outline-container-org7faf069" class="outline-2">
<h2 id="orgf1767f4"><span class="section-number-2">4.</span> Org Mode</h2> <h2 id="org7faf069"><span class="section-number-2">5.</span> Org Mode</h2>
<div class="outline-text-2" id="text-4"> <div class="outline-text-2" id="text-5">
</div> </div>
<div id="outline-container-org7edeaf3" class="outline-3"> <div id="outline-container-org1749679" class="outline-3">
<h3 id="org7edeaf3"><span class="section-number-3">4.1.</span> General Settings</h3> <h3 id="org1749679"><span class="section-number-3">5.1.</span> General Settings</h3>
<div class="outline-text-3" id="text-4-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: #fe8019;">(</span><span style="color: #fb4934;">setq</span> +user-org-path <span style="color: #b8bb26;">"~/Notes/Org"</span><span style="color: #fe8019;">)</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: #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: #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-directory</span> +user-org-path <span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> org
<span style="color: #83a598;">org-src-tab-acts-natively</span> t<span style="color: #cc241d;">)</span><span style="color: #fe8019;">)</span> <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: #cc241d;">(</span><span style="color: #fb4934;">setq</span> <span style="color: #83a598;">org-directory</span> +user-org-path
<span style="color: #83a598;">org-src-tab-acts-natively</span> t
<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: #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: #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: #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> <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-org86c81c0" class="outline-3"> <div id="outline-container-org323bf09" class="outline-3">
<h3 id="org86c81c0"><span class="section-number-3">4.2.</span> Org Export</h3> <h3 id="org323bf09"><span class="section-number-3">5.2.</span> Org Export</h3>
<div class="outline-text-3" id="text-4-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">
@ -412,21 +487,73 @@ These keybindings extend the default doom bindings, either because the defaults
<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: #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: #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-hook</span> <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">my-org-inline-css-hook</span><span style="color: #fe8019;">)</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-orgeacff10" class="outline-3"> <div id="outline-container-org0e7fecf" class="outline-3">
<h3 id="orgeacff10"><span class="section-number-3">4.3.</span> Org Agenda</h3> <h3 id="org0e7fecf"><span class="section-number-3">5.3.</span> Org Capture</h3>
<div class="outline-text-3" id="text-4-3"> <div class="outline-text-3" id="text-5-3">
<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>
<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: #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>
+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>
+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: #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: #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: #fe8019;">(</span>file <span style="color: #83a598;">+org-capture-todo-file</span><span style="color: #fe8019;">)</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: #83a598;">(</span><span style="color: #b8bb26;">"r"</span> <span style="color: #b8bb26;">"Recipe"</span> entry
<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: #83a598;">(</span><span style="color: #b8bb26;">"n"</span> <span style="color: #b8bb26;">"Nepali"</span><span style="color: #83a598;">)</span>
<span style="color: #83a598;">(</span><span style="color: #b8bb26;">"nw"</span> <span style="color: #b8bb26;">"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: #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: #83a598;">(</span><span style="color: #b8bb26;">"j"</span> <span style="color: #b8bb26;">"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: #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>
</pre>
</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"> <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> <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-agenda-show-all-dates</span> nil <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-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-start-day</span> <span style="color: #b8bb26;">"+0d"</span>
org-agenda-spillover-skip-function <span style="color: #ebdbb2;">'</span><span style="color: #b8bb26;">(</span>org-agenda-skip-entry-if <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">todo</span> <span style="color: #ebdbb2;">'</span><span style="color: #689d6a;">done</span><span style="color: #b8bb26;">)</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: #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: #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: #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>
@ -441,29 +568,101 @@ These keybindings extend the default doom bindings, either because the defaults
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orge7a3973" class="outline-2"> <div id="outline-container-orgdf5e10a" class="outline-2">
<h2 id="orge7a3973"><span class="section-number-2">5.</span> Packages</h2> <h2 id="orgdf5e10a"><span class="section-number-2">6.</span> Packages</h2>
<div class="outline-text-2" id="text-5"> <div class="outline-text-2" id="text-6">
</div> </div>
<div id="outline-container-org10ca8a9" class="outline-3"> <div id="outline-container-orga1e7b09" class="outline-3">
<h3 id="org10ca8a9"><span class="section-number-3">5.1.</span> hl-todo</h3> <h3 id="orga1e7b09"><span class="section-number-3">6.1.</span> doom-modeline</h3>
<div class="outline-text-3" id="text-5-1"> <div class="outline-text-3" id="text-6-1">
<p>
The doom modeline can be configured to show different information like time and date, battery info and more.
</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> 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> <pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">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: #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: #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: #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>
</pre>
</div>
</div>
</div>
<div id="outline-container-orgd6b9543" class="outline-3">
<h3 id="orgd6b9543"><span class="section-number-3">6.2.</span> evil-snipe</h3>
<div class="outline-text-3" id="text-6-2">
<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>
</div>
</div>
</div>
<div id="outline-container-org47343f5" class="outline-3">
<h3 id="org47343f5"><span class="section-number-3">6.3.</span> hl-todo</h3>
<div class="outline-text-3" id="text-6-3">
<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>
<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: #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: #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: #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: #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: #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: #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: #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: #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: #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: #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: #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: #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: #83a598;">(</span><span style="color: #b8bb26;">"</span><span style="color: #d3869b; font-weight: bold;">XXX</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: #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>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgb292dd1" class="outline-3"> <div id="outline-container-orgb366bfa" class="outline-3">
<h3 id="orgb292dd1"><span class="section-number-3">5.2.</span> org-auto-tangle</h3> <h3 id="orgb366bfa"><span class="section-number-3">6.4.</span> notmuch</h3>
<div class="outline-text-3" id="text-5-2"> <div class="outline-text-3" id="text-6-4">
<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>
<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>
</pre>
</div>
</div>
</div>
<div id="outline-container-org0db7593" class="outline-3">
<h3 id="org0db7593"><span class="section-number-3">6.5.</span> nov.el</h3>
<div class="outline-text-3" id="text-6-5">
<div class="org-src-container">
<pre class="src src-emacs-lisp">
<span style="color: #fe8019;">(</span><span style="color: #fb4934;">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: #fe8019;">: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: #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>
</pre>
</div>
</div>
</div>
<div id="outline-container-org02f2d4a" class="outline-3">
<h3 id="org02f2d4a"><span class="section-number-3">6.6.</span> olivetti</h3>
<div class="outline-text-3" id="text-6-6">
<p>
Centers the text. This is used for reading books in
</p>
<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>
</div>
</div>
</div>
<div id="outline-container-org79779a0" class="outline-3">
<h3 id="org79779a0"><span class="section-number-3">6.7.</span> org-auto-tangle</h3>
<div class="outline-text-3" id="text-6-7">
<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.
</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: #fe8019;">(</span><span style="color: #fb4934;">use-package!</span> org-auto-tangle
<span style="color: #fe8019;">:defer</span> t <span style="color: #fe8019;">:defer</span> t
@ -473,9 +672,13 @@ These keybindings extend the default doom bindings, either because the defaults
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org931b602" class="outline-3"> <div id="outline-container-org476a1ac" class="outline-3">
<h3 id="org931b602"><span class="section-number-3">5.3.</span> org-drill</h3> <h3 id="org476a1ac"><span class="section-number-3">6.8.</span> org-drill</h3>
<div class="outline-text-3" id="text-5-3"> <div class="outline-text-3" id="text-6-8">
<p>
A package for learning and memorizing using <b>spaced repetition</b>, inspired by applications like Anki.
</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: #fe8019;">(</span><span style="color: #fb4934;">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: #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>
@ -483,22 +686,41 @@ These keybindings extend the default doom bindings, either because the defaults
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org173df8d" class="outline-3"> <div id="outline-container-orgd837176" class="outline-3">
<h3 id="org173df8d"><span class="section-number-3">5.4.</span> doom-modeline</h3> <h3 id="orgd837176"><span class="section-number-3">6.9.</span> org-noter</h3>
<div class="outline-text-3" id="text-5-4"> <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> doom-modeline <pre class="src src-emacs-lisp"><span style="color: #fe8019;">(</span><span style="color: #fb4934;">after!</span> org-noter
<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: #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: #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: #cc241d;">(</span><span style="color: #fb4934;">setq</span> org-noter-always-create-frame nil<span style="color: #cc241d;">)</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: #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>
</pre> </pre>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgf3784d6" class="outline-3"> <div id="outline-container-orge89fb09" class="outline-3">
<h3 id="orgf3784d6"><span class="section-number-3">5.5.</span> evil-snipe</h3> <h3 id="orge89fb09"><span class="section-number-3">6.10.</span> org-roam</h3>
<div class="outline-text-3" id="text-5-5"> <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> 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: #fe8019;">(</span><span style="color: #fb4934;">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: #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>
</pre>
</div>
</div>
</div>
<div id="outline-container-org6d2cfa2" class="outline-3">
<h3 id="org6d2cfa2"><span class="section-number-3">6.11.</span> drag-stuff</h3>
<div class="outline-text-3" id="text-6-11">
<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.
</p>
<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> </pre>
</div> </div>
</div> </div>
@ -507,7 +729,7 @@ These keybindings extend the default doom bindings, either because the defaults
</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-02-27 Di 13:59</p> <p class="date">Created: 2024-03-10 So 13:06</p>
</div> </div>
</body> </body>
</html> </html>

View File

@ -4,6 +4,8 @@
#+auto_tangle: t #+auto_tangle: t
#+STARTUP: overview #+STARTUP: overview
This config file is built on doom-emacs ~3.0.0-pre~ and emacs ~29.2~.
* Table of Contents :toc: * Table of Contents :toc:
:PROPERTIES: :PROPERTIES:
:VISIBILITY: all :VISIBILITY: all
@ -11,25 +13,28 @@
- [[#header][Header]] - [[#header][Header]]
- [[#keybindings][Keybindings]] - [[#keybindings][Keybindings]]
- [[#base-config][Base Config]] - [[#base-config][Base Config]]
- [[#themes][Themes]] - [[#appearance][Appearance]]
- [[#org-mode][Org Mode]] - [[#org-mode][Org Mode]]
- [[#general-settings][General Settings]] - [[#general-settings][General Settings]]
- [[#org-export][Org Export]] - [[#org-export][Org Export]]
- [[#org-capture][Org Capture]] - [[#org-capture][Org Capture]]
- [[#org-agenda][Org Agenda]] - [[#org-agenda][Org Agenda]]
- [[#packages][Packages]] - [[#packages][Packages]]
- [[#doom-modeline][doom-modeline]]
- [[#evil-snipe][evil-snipe]]
- [[#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]]
- [[#doom-modeline][doom-modeline]]
- [[#evil-snipe][evil-snipe]]
- [[#org-noter][org-noter]] - [[#org-noter][org-noter]]
- [[#org-roam][org-roam]] - [[#org-roam][org-roam]]
- [[#notmuch][notmuch]] - [[#drag-stuff][drag-stuff]]
* Header * Header
This header will be the first codeblock in the config file.
#+begin_src emacs-lisp #+begin_src emacs-lisp
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- ;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
#+end_src #+end_src
@ -47,12 +52,16 @@ These keybindings extend the default doom bindings, either because the defaults
| F6 | Toggle Light/Dark Theme | | | F6 | Toggle Light/Dark Theme | |
| F7 | Start Org-Drill | | | F7 | Start Org-Drill | |
| SPC m g s | Go to habit stats | Org | | SPC m g s | Go to habit stats | Org |
| M-UP | Move line up | |
| M-DOWN | Move line down | |
| M-LEFT | Move region left | |
#+begin_src emacs-lisp #+begin_src emacs-lisp
(map! :n "<f12>" #'org-agenda-list) (map! :n "<f12>" #'org-agenda-list)
(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
@ -69,6 +78,15 @@ 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"))
;; Display Line numbers
(setq display-line-numbers-type t)
#+end_src
* Appearance
#+begin_src emacs-lisp
;; Fonts ;; Fonts
(setq doom-font (setq doom-font
(font-spec :family "IBM Plex Mono" :size 18 :weight 'medium)) (font-spec :family "IBM Plex Mono" :size 18 :weight 'medium))
@ -77,13 +95,35 @@ These keybindings extend the default doom bindings, either because the defaults
(setq variable-pitch (setq variable-pitch
(font-spec :family "IBM Plex Serif" :size 18 :weight 'medium)) (font-spec :family "IBM Plex Serif" :size 18 :weight 'medium))
;; Display Line numbers ;; Dashboard
(setq display-line-numbers-type t) (defun my-weebery-is-always-greater ()
#+end_src (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)
* Themes (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-loaded)
#+begin_src emacs-lisp ;; Themes
(use-package! heaven-and-hell (use-package! heaven-and-hell
:ensure t :ensure t
:config :config
@ -106,10 +146,9 @@ These keybindings extend the default doom bindings, either because the defaults
(after! org (after! org
(map! :map org-mode-map :localleader "g s" #'org-habit-stats-view-habit-at-point) (map! :map org-mode-map :localleader "g s" #'org-habit-stats-view-habit-at-point)
(setq org-directory +user-org-path (setq org-directory +user-org-path
org-src-tab-acts-natively t) org-src-tab-acts-natively t
org-todo-sets '(("TODO" "PROJ" "LOOP" "STRT" "WAIT" "HOLD" "IDEA" "DONE" "KILL") org-todo-keywords '((sequence "TODO(t)" "|" "DONE(d)")
("[ ]" "[-]" "[?]" "[X]") (sequence "THIS(T)" "EXAMPLE"))))
("THIS" "EXAMPLE")))
(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))))
@ -160,7 +199,7 @@ These keybindings extend the default doom bindings, either because the defaults
(after! org (setq org-capture-templates (after! org (setq org-capture-templates
'(("t" "Personal Todo" entry '(("t" "Personal Todo" entry
(file+headline +org-capture-todo-file "Inbox") (file +org-capture-todo-file)
"* TODO %?\n" :prepend t) "* TODO %?\n" :prepend t)
("r" "Recipe" entry ("r" "Recipe" entry
@ -199,10 +238,11 @@ These keybindings extend the default doom bindings, either because the defaults
** Org Agenda ** Org Agenda
#+begin_src emacs-lisp #+begin_src emacs-lisp
(after! org (setq (after! org (setq
org-agenda-show-all-dates nil ;; org-agenda-spillover-skip-function '(org-agenda-skip-entry-if 'todo 'done)
org-agenda-show-all-dates t
org-agenda-span 4 org-agenda-span 4
org-agenda-start-day "+0d" org-agenda-start-day "+0d"
org-agenda-spillover-skip-function '(org-agenda-skip-entry-if 'todo 'done) org-agenda-tag-filter-preset '("-drill")
org-agenda-time-grid org-agenda-time-grid
'((daily today require-timed) '((daily today require-timed)
(800 1000 1200 1400 1600 1800 2000) (800 1000 1200 1400 1600 1800 2000)
@ -215,52 +255,10 @@ These keybindings extend the default doom bindings, either because the defaults
#+end_src #+end_src
* Packages * Packages
** hl-todo
#+begin_src emacs-lisp
(add-hook 'org-mode-hook #'hl-todo-mode)
(after! hl-todo (setq hl-todo-keyword-faces '(("TODO" warning bold)
("FIXME" error bold)
("EXAMPLE" font-lock-keyword-face bold)
("HACK" font-lock-constant-face bold)
("DEPRECATED" font-lock-doc-face bold)
("NOTE" success bold)
("BUG" error bold)
("THIS" font-lock-constant-face bold))))
#+end_src
** nov.el
#+begin_src emacs-lisp
(use-package! nov
:mode ("\\.epub\\'" . nov-mode)
:config
(setq nov-text-width 60))
(add-hook! 'nov-mode-hook '(olivetti-mode))
#+end_src
** olivetti
#+begin_src emacs-lisp
(after! olivetti (setq olivetti-body-width 60))
#+end_src
** org-auto-tangle
#+begin_src emacs-lisp
(use-package! org-auto-tangle
:defer t
:config (setq org-auto-tangle-default nil)
:hook (org-mode . org-auto-tangle-mode))
#+end_src
** org-drill
#+begin_src emacs-lisp
(after! org-drill
(setq org-drill-scope 'agenda))
#+end_src
** doom-modeline ** doom-modeline
The doom modeline can be configured to show different information like time and date, battery info and more.
#+begin_src emacs-lisp #+begin_src emacs-lisp
(after! doom-modeline (after! doom-modeline
(setq doom-modeline-battery t) (setq doom-modeline-battery t)
@ -269,11 +267,75 @@ These keybindings extend the default doom bindings, either because the defaults
(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)
#+end_src #+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 #+end_src
** hl-todo
#+begin_src emacs-lisp
(add-hook 'org-mode-hook #'hl-todo-mode)
(after! hl-todo
(setq hl-todo-keyword-faces
'(("TODO" warning bold)
("EXAMPLE" font-lock-keyword-face bold)
("HACK" font-lock-constant-face bold)
("DEPRECATED" font-lock-doc-face bold)
("NOTE" success bold)
("BUG" error bold)
("THIS" font-lock-constant-face bold))))
#+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
#+begin_src emacs-lisp
(use-package! nov
:mode ("\\.epub\\'" . nov-mode)
:config
(setq nov-text-width 70))
(add-hook! 'nov-mode-hook '(olivetti-mode))
#+end_src
** olivetti
Centers the text. This is used for reading books in
#+begin_src emacs-lisp
(after! olivetti (setq olivetti-body-width 70))
#+end_src
** org-auto-tangle
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.
#+begin_src emacs-lisp
(use-package! org-auto-tangle
:defer t
:config (setq org-auto-tangle-default nil)
:hook (org-mode . org-auto-tangle-mode))
#+end_src
** org-drill
A package for learning and memorizing using *spaced repetition*, inspired by applications like Anki.
#+begin_src emacs-lisp
(after! org-drill
(setq org-drill-scope 'agenda))
#+end_src
** org-noter ** org-noter
#+begin_src emacs-lisp #+begin_src emacs-lisp
(after! org-noter (after! org-noter
(setq org-noter-notes-search-path '("~/Notes/Org")) (setq org-noter-notes-search-path '("~/Notes/Org"))
@ -289,8 +351,10 @@ These keybindings extend the default doom bindings, either because the defaults
(setq org-roam-dailies-directory "Daily")) (setq org-roam-dailies-directory "Daily"))
#+end_src #+end_src
** notmuch ** 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 #+begin_src emacs-lisp
(setq +notmuch-home-function (lambda () (notmuch-search "folder:INBOX"))) (drag-stuff-global-mode t)
#+end_src #+end_src

View File

@ -43,7 +43,7 @@
;;neotree ; a project drawer, like NERDTree for vim ;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows (popup +defaults) ; tame sudden yet inevitable temporary windows
;;tabs ; a tab bar for Emacs tabs ; a tab bar for Emacs
treemacs ; a project drawer, like neotree but cooler treemacs ; a project drawer, like neotree but cooler
;;unicode ; extended unicode support for various languages ;;unicode ; extended unicode support for various languages
(vc-gutter +pretty) ; vcs diff in the fringe (vc-gutter +pretty) ; vcs diff in the fringe
@ -64,7 +64,7 @@
;;parinfer ; turn lisp into python, sort of ;;parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates ;;rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to snippets ; my elves. They type so I don't have to
;;word-wrap ; soft wrapping with language-aware indent word-wrap ; soft wrapping with language-aware indent
:emacs :emacs
dired ; making dired pretty [functional] dired ; making dired pretty [functional]
@ -141,7 +141,7 @@
;;(haskell +lsp) ; a language that's lazier than I am ;;(haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python ;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on ;;idris ; a language you can depend on
;;json ; At least it ain't XML json ; At least it ain't XML
;;(java +lsp) ; the poster child for carpal tunnel syndrome ;;(java +lsp) ; the poster child for carpal tunnel syndrome
;;javascript ; all(hope(abandon(ye(who(enter(here)))))) ;;javascript ; all(hope(abandon(ye(who(enter(here))))))
;;julia ; a better, faster MATLAB ;;julia ; a better, faster MATLAB
@ -150,12 +150,12 @@
;;lean ; for folks with too much to prove ;;lean ; for folks with too much to prove
;;ledger ; be audit you can be ;;ledger ; be audit you can be
;;lua ; one-based indices? one-based indices ;;lua ; one-based indices? one-based indices
markdown ; writing docs for people to ignore ;;markdown ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c ;;nim ; python + lisp at the speed of c
;;nix ; I hereby declare "nix geht mehr!" ;;nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel ;;ocaml ; an objective camel
(org +roam2) ; organize your plain life in plain text (org +roam2) ; organize your plain life in plain text
;; php ; perl's insecure younger brother ;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more ;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional ;;purescript ; javascript, but functional
;;python ; beautiful is better than ugly ;;python ; beautiful is better than ugly
@ -179,12 +179,12 @@
:email :email
;;(mu4e +org +gmail) ;;(mu4e +org +gmail)
notmuch ;;notmuch
;;(wanderlust +gmail) ;;(wanderlust +gmail)
:app :app
;;calendar ;;calendar
emms ;;emms
;;everywhere ; *leave* Emacs!? You must be joking ;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize ;;irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader ;;(rss +org) ; emacs as an RSS reader

View File

@ -12,11 +12,13 @@
(package! org-auto-tangle) (package! org-auto-tangle)
(package! org-habit-stats) (package! org-habit-stats)
(package! org-super-agenda)
(package! org-drill) (package! org-drill)
(package! org-noter) (package! org-noter)
(package! heaven-and-hell) (package! heaven-and-hell)
(package! nov) (package! nov)
(package! olivetti) (package! olivetti)
(package! drag-stuff)
;; To install a package directly from a remote git repo, you must specify a ;; To install a package directly from a remote git repo, you must specify a
;; `:recipe'. You'll find documentation on what `:recipe' accepts here: ;; `:recipe'. You'll find documentation on what `:recipe' accepts here: