diff --git a/config/dot_config/doom/config.el b/config/dot_config/doom/config.el index f6cb7dd..d4ff99b 100644 --- a/config/dot_config/doom/config.el +++ b/config/dot_config/doom/config.el @@ -15,6 +15,14 @@ ;; Useful if default system shell is not bash (setq shell-file-name (executable-find "bash")) +;; Fonts +(setq doom-font + (font-spec :family "IBM Plex Mono" :size 18 :weight 'medium)) +(setq doom-variable-pitch-font + (font-spec :family "IBM Plex Serif" :size 18 :weight 'medium)) +(setq variable-pitch + (font-spec :family "IBM Plex Serif" :size 18 :weight 'medium)) + ;; Display Line numbers (setq display-line-numbers-type t) @@ -33,8 +41,17 @@ (setq +user-org-path "~/Notes/Org") (defun org-path (filename) (expand-file-name filename +user-org-path)) -(after! org (setq org-directory +user-org-path - org-src-tab-acts-natively t)) +(after! org + (setq org-directory +user-org-path + org-src-tab-acts-natively t) + org-todo-sets '(("TODO" "PROJ" "LOOP" "STRT" "WAIT" "HOLD" "IDEA" "DONE" "KILL") + ("[ ]" "[-]" "[?]" "[X]") + ("THIS" "EXAMPLE"))) + +(add-hook! 'org-mode-hook '(olivetti-mode (lambda () (display-line-numbers-mode -1)))) + +(add-hook! 'org-after-todo-state-change-hook '(org-habit-stats-update-properties)) + (add-to-list 'org-modules 'org-habit) @@ -60,7 +77,7 @@ "\n"))))) ;; Org Export -(add-hook 'org-export-before-processing-hook 'my-org-inline-css-hook) +(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") @@ -101,14 +118,8 @@ (file+headline +org-capture-nepali-file "Nepali Words") "* %^{Nepali Word} :drill:\n%\\1\n** Answer\n%^{Translation}" :prepend t :immediate-finish t) - ("j" "Journal entries") - - ("jj" "Daily Journal" entry + ("j" "Daily Journal" entry (file+olp+datetree +org-capture-journal-file) - "* %U %?\n" :prepend t) - - ("jt" "Travel Journal" entry - (file+headline +org-capture-journal-file "Travel") "* %U %?\n" :prepend t)))) (after! org (setq @@ -135,7 +146,16 @@ ("DEPRECATED" font-lock-doc-face bold) ("NOTE" success bold) ("BUG" error bold) - ("XXX" font-lock-constant-face 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 @@ -153,3 +173,13 @@ (add-hook 'doom-after-init-hook #'display-time-mode) (after! evil-snipe (setq evil-snipe-scope 'whole-visible)) + +(after! org-noter + (setq org-noter-notes-search-path '("~/Notes/Org")) + (setq org-noter-always-create-frame nil) + (setq org-noter-doc-split-fraction '(0.75 . 0.75)) + (setq org-noter-default-notes-file-names '())) + +(after! org-roam + (setq org-roam-directory "~/Notes/Org/Roam") + (setq org-roam-dailies-directory "Daily")) diff --git a/config/dot_config/doom/config.org b/config/dot_config/doom/config.org index b07508b..d1a1c4b 100644 --- a/config/dot_config/doom/config.org +++ b/config/dot_config/doom/config.org @@ -2,13 +2,12 @@ #+AUTHOR: Jonathan Jenne / Inhji #+PROPERTY: header-args :tangle config.el #+auto_tangle: t - -* Header -#+begin_src emacs-lisp -;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- -#+end_src +#+STARTUP: overview * Table of Contents :toc: +:PROPERTIES: +:VISIBILITY: all +:END: - [[#header][Header]] - [[#keybindings][Keybindings]] - [[#base-config][Base Config]] @@ -20,10 +19,19 @@ - [[#org-agenda][Org Agenda]] - [[#packages][Packages]] - [[#hl-todo][hl-todo]] + - [[#novel][nov.el]] + - [[#olivetti][olivetti]] - [[#org-auto-tangle][org-auto-tangle]] - [[#org-drill][org-drill]] - [[#doom-modeline][doom-modeline]] - [[#evil-snipe][evil-snipe]] + - [[#org-noter][org-noter]] + - [[#org-roam][org-roam]] + +* Header +#+begin_src emacs-lisp +;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- +#+end_src * Keybindings @@ -59,6 +67,14 @@ These keybindings extend the default doom bindings, either because the defaults ;; Useful if default system shell is not bash (setq shell-file-name (executable-find "bash")) +;; Fonts +(setq doom-font + (font-spec :family "IBM Plex Mono" :size 18 :weight 'medium)) +(setq doom-variable-pitch-font + (font-spec :family "IBM Plex Serif" :size 18 :weight 'medium)) +(setq variable-pitch + (font-spec :family "IBM Plex Serif" :size 18 :weight 'medium)) + ;; Display Line numbers (setq display-line-numbers-type t) #+end_src @@ -85,8 +101,17 @@ These keybindings extend the default doom bindings, either because the defaults (setq +user-org-path "~/Notes/Org") (defun org-path (filename) (expand-file-name filename +user-org-path)) -(after! org (setq org-directory +user-org-path - org-src-tab-acts-natively t)) +(after! org + (setq org-directory +user-org-path + org-src-tab-acts-natively t) + org-todo-sets '(("TODO" "PROJ" "LOOP" "STRT" "WAIT" "HOLD" "IDEA" "DONE" "KILL") + ("[ ]" "[-]" "[?]" "[X]") + ("THIS" "EXAMPLE"))) + +(add-hook! 'org-mode-hook '(olivetti-mode (lambda () (display-line-numbers-mode -1)))) + +(add-hook! 'org-after-todo-state-change-hook '(org-habit-stats-update-properties)) + (add-to-list 'org-modules 'org-habit) #+end_src @@ -118,11 +143,11 @@ These keybindings extend the default doom bindings, either because the defaults "\n"))))) ;; Org Export -(add-hook 'org-export-before-processing-hook 'my-org-inline-css-hook) +(add-hook 'org-export-before-processing-functions 'my-org-inline-css-hook) #+end_src -** Org Capture :toc: +** Org Capture #+begin_src emacs-lisp (after! org (setq +org-capture-notes-file (org-path "Notes.org") +org-capture-todo-file (org-path "Todo.org") @@ -163,15 +188,10 @@ These keybindings extend the default doom bindings, either because the defaults (file+headline +org-capture-nepali-file "Nepali Words") "* %^{Nepali Word} :drill:\n%\\1\n** Answer\n%^{Translation}" :prepend t :immediate-finish t) - ("j" "Journal entries") - - ("jj" "Daily Journal" entry + ("j" "Daily Journal" entry (file+olp+datetree +org-capture-journal-file) - "* %U %?\n" :prepend t) - - ("jt" "Travel Journal" entry - (file+headline +org-capture-journal-file "Travel") "* %U %?\n" :prepend t)))) + #+end_src ** Org Agenda #+begin_src emacs-lisp @@ -193,6 +213,7 @@ These keybindings extend the default doom bindings, either because the defaults * Packages ** hl-todo + #+begin_src emacs-lisp (add-hook 'org-mode-hook #'hl-todo-mode) @@ -203,7 +224,25 @@ These keybindings extend the default doom bindings, either because the defaults ("DEPRECATED" font-lock-doc-face bold) ("NOTE" success bold) ("BUG" error bold) - ("XXX" font-lock-constant-face 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 @@ -231,3 +270,19 @@ These keybindings extend the default doom bindings, either because the defaults #+begin_src emacs-lisp (after! evil-snipe (setq evil-snipe-scope 'whole-visible)) #+end_src +** org-noter +#+begin_src emacs-lisp +(after! org-noter + (setq org-noter-notes-search-path '("~/Notes/Org")) + (setq org-noter-always-create-frame nil) + (setq org-noter-doc-split-fraction '(0.75 . 0.75)) + (setq org-noter-default-notes-file-names '())) + +#+end_src +** org-roam +#+begin_src emacs-lisp +(after! org-roam + (setq org-roam-directory "~/Notes/Org/Roam") + (setq org-roam-dailies-directory "Daily")) + +#+end_src diff --git a/config/dot_config/doom/init.el b/config/dot_config/doom/init.el index 2f3695e..fac87fa 100644 --- a/config/dot_config/doom/init.el +++ b/config/dot_config/doom/init.el @@ -154,7 +154,7 @@ ;;nim ; python + lisp at the speed of c ;;nix ; I hereby declare "nix geht mehr!" ;;ocaml ; an objective camel - org ; organize your plain life in plain text + (org +roam2) ; organize your plain life in plain text ;; php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional @@ -179,7 +179,7 @@ :email ;;(mu4e +org +gmail) - ;;notmuch + notmuch ;;(wanderlust +gmail) :app diff --git a/config/dot_config/doom/packages.el b/config/dot_config/doom/packages.el index 949b14e..4c52d38 100644 --- a/config/dot_config/doom/packages.el +++ b/config/dot_config/doom/packages.el @@ -13,8 +13,10 @@ (package! org-auto-tangle) (package! org-habit-stats) (package! org-drill) -(package! catppuccin-theme) +(package! org-noter) (package! heaven-and-hell) +(package! nov) +(package! olivetti) ;; To install a package directly from a remote git repo, you must specify a ;; `:recipe'. You'll find documentation on what `:recipe' accepts here: