diff --git a/config/dot_config/doom/config.el b/config/dot_config/doom/config.el index bc6e9b4..f5593b6 100644 --- a/config/dot_config/doom/config.el +++ b/config/dot_config/doom/config.el @@ -15,6 +15,9 @@ ;; Useful if default system shell is not bash (setq shell-file-name (executable-find "bash")) +;; Display Line numbers +(setq display-line-numbers-type t) + ;; Fonts (setq doom-font (font-spec :family "IBM Plex Mono" :size 18 :weight 'medium)) @@ -23,9 +26,35 @@ (setq variable-pitch (font-spec :family "IBM Plex Serif" :size 18 :weight 'medium)) -;; Display Line numbers -(setq display-line-numbers-type t) +;; 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) +(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 :ensure t :config @@ -44,10 +73,9 @@ (after! org (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-sets '(("TODO" "PROJ" "LOOP" "STRT" "WAIT" "HOLD" "IDEA" "DONE" "KILL") - ("[ ]" "[-]" "[?]" "[X]") - ("THIS" "EXAMPLE"))) + 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)))) @@ -88,7 +116,7 @@ (after! org (setq org-capture-templates '(("t" "Personal Todo" entry - (file+headline +org-capture-todo-file "Inbox") + (file +org-capture-todo-file) "* TODO %?\n" :prepend t) ("r" "Recipe" entry @@ -124,10 +152,11 @@ "* %U %?\n" :prepend t)))) (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-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 '((daily today require-timed) (800 1000 1200 1400 1600 1800 2000) @@ -138,34 +167,6 @@ ;; Consider all org files part of the org-agenda 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 (setq doom-modeline-battery t) (setq doom-modeline-major-mode-icon t)) @@ -175,6 +176,38 @@ (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 (setq org-noter-notes-search-path '("~/Notes/Org")) (setq org-noter-always-create-frame nil) @@ -185,4 +218,4 @@ (setq org-roam-directory "~/Notes/Org/Roam") (setq org-roam-dailies-directory "Daily")) -(setq +notmuch-home-function (lambda () (notmuch-search "folder:INBOX"))) +(drag-stuff-global-mode t) diff --git a/config/dot_config/doom/config.html b/config/dot_config/doom/config.html index b1f4fe3..a2ffa1b 100644 --- a/config/dot_config/doom/config.html +++ b/config/dot_config/doom/config.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +
+This config file is built on doom-emacs 3.0.0-pre
and emacs 29.2
.
+
+This header will be the first codeblock in the config file. +
+ +;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- ++
These keybindings extend the default doom bindings, either because the defaults were confusing to me or because the binding did not yet exist.
@@ -296,16 +316,50 @@ These keybindings extend the default doom bindings, either because the defaults;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- +++(map! :n "<f12>" #'org-agenda-list) +(map! :n "<f7>" #'org-drill) +(map! "C-M-+" #'doom/increase-font-size) +(map! "C-#" #'comment-line) +(map! :n "<f8>" #'emms-playlist-mode-go) +(evil-define-key 'normal dired-mode-map + (kbd "DEL") 'dired-up-directory) ++
;; Basic User Settings (setq user-full-name "Jonathan Jenne" user-mail-address "johnnie@posteo.de") @@ -316,41 +370,52 @@ These keybindings extend the default doom bindings, either because the defaults ;; Display Line numbers (setq display-line-numbers-type t) - -;; General Keybindings -(map! :n "<f12>" #'org-agenda-list) -(map! :n "<f7>" #'org-drill) -(map! "C-M-+" #'doom/increase-font-size) -(map! "C-#" #'comment-line) -(evil-define-key 'normal dired-mode-map - (kbd "DEL") 'dired-up-directory) --
;; Org Mode -(add-hook 'org-mode-hook #'org-modern-mode) -(add-hook 'org-mode-hook #'hl-todo-mode) - -;; Org Agenda -(add-hook 'org-agenda-finalize-hook #'org-modern-agenda) - -;; Modeline -(add-hook 'doom-after-init-hook #'display-battery-mode) -(add-hook 'doom-after-init-hook #'display-time-mode)
(use-package! heaven-and-hell +;; 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)) + +;; 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) + +(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 :ensure t :config (setq heaven-and-hell-theme-type 'dark) ;; Omit to use light by default @@ -365,28 +430,38 @@ 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 + (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-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)
@@ -412,21 +487,73 @@ These keybindings extend the default doom bindings, either because the defaults "</style>\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") + +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") + "* NEVERMADE %? +:PROPERTIES: +:Author: +:Source: +:Sent_by: +:Yield: +:Prep_Time: +:Cook_Time: +:Total_Time: +:Cost: +:Description: +:URL: +:Added: %u +:END: + +- [ ] Ingredient 1 + + +1. First Step") + + ("n" "Nepali") + + ("nw" "Nepali Word" entry + (file+headline +org-capture-nepali-file "Nepali Words") + "* %^{Nepali Word} :drill:\n%\\1\n** Answer\n%^{Translation}" :prepend t :immediate-finish t) + + ("j" "Daily Journal" entry + (file+olp+datetree +org-capture-journal-file) + "* %U %?\n" :prepend t)))) + ++
(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-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 '((daily today require-timed) (800 1000 1200 1400 1600 1800 2000) @@ -441,29 +568,101 @@ These keybindings extend the default doom bindings, either because the defaults
+The doom modeline can be configured to show different information like time and date, battery info and more. +
+(after! hl-todo (setq hl-todo-keyword-faces '(("TODO" warning bold) +(after! doom-modeline + (setq doom-modeline-battery t) + (setq doom-modeline-major-mode-icon t)) + +(add-hook 'doom-after-init-hook #'display-battery-mode) +(add-hook 'doom-after-init-hook #'display-time-mode) ++
(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) ("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) - ("XXX" font-lock-constant-face 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)) + ++
+Centers the text. This is used for reading books in +
+ +(after! olivetti (setq olivetti-body-width 70)) ++
+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. +
+(use-package! org-auto-tangle :defer t @@ -473,9 +672,13 @@ These keybindings extend the default doom bindings, either because the defaults
+A package for learning and memorizing using spaced repetition, inspired by applications like Anki. +
+(after! org-drill (setq org-drill-scope 'agenda)) @@ -483,22 +686,41 @@ These keybindings extend the default doom bindings, either because the defaults
(after! doom-modeline - (setq doom-modeline-battery t) - (setq doom-modeline-major-mode-icon t)) +(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! evil-snipe (setq evil-snipe-scope 'whole-visible)) +(after! org-roam + (setq org-roam-directory "~/Notes/Org/Roam") + (setq org-roam-dailies-directory "Daily")) + ++
+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.
+
(drag-stuff-global-mode t)
Created: 2024-02-27 Di 13:59
+Created: 2024-03-10 So 13:06