doom: config bikeshedding

This commit is contained in:
Inhji 2024-03-18 10:03:13 +01:00
parent 720d913b6e
commit 6e8ea06b43
2 changed files with 230 additions and 209 deletions

View File

@ -44,8 +44,6 @@
"\n"))
'face 'doom-dashboard-banner)))
(map! :n "<f12>" #'org-agenda-list)
(map! :n "<f7>" #'org-drill)
(map! "C-M-+" #'doom/increase-font-size)
;; NOTE: Does not work in org-mode src blocks
@ -53,8 +51,17 @@
(map! :leader
:map doom-leader-file-map
:desc "Find org files"
"f o" #'org-path-find-file)
:desc "Find org files" "f o" #'org-path-find-file)
(map! :leader
:map doom-leader-open-map
:desc "Open elfeed" "o e" #'elfeed
:desc "Open org drill" "o r" #'org-drill)
(map! :localleader
:after org
:map org-mode-map
:desc "View habit stats" "g s" #'org-habit-stats-view-habit-at-point)
;; Basic User Settings
(setq user-full-name "Jonathan Jenne"
@ -130,7 +137,7 @@
+org-capture-nepali-file (org-path "Nepali.org")
org-capture-templates
'(("t" "Personal Todo" entry
(file +org-capture-todo-file)
(file+headline +org-capture-todo-file "Todo")
"* TODO %?\n" :prepend t)
("r" "Recipe" entry
@ -165,8 +172,6 @@
(file+olp+datetree +org-capture-journal-file)
"* %U %?\n" :prepend t)))
:bind (:map org-mode-map("<localleader> g s" . #'org-habit-stats-view-habit-at-point))
:hook (org-after-todo-state-change . org-habit-stats-update-properties)
:init
(add-to-list 'org-modules 'org-habit)
@ -182,6 +187,82 @@
(use-package! drag-stuff
:init (drag-stuff-global-mode t))
(use-package! elfeed
:config
(setq elfeed-feeds
'("https://www.giessen.de/media/rss/Presse.xml"
"https://adactio.com/journal/rss"
"https://andregarzia.com/feeds/all.atom.xml"
"https://ar.al/index.xml"
"https://archlinux.org/feeds/news/"
"https://ashfurrow.com//feed.xml"
"https://bachrauf.org/feed/"
"https://beko.famkos.net/feed/"
"https://blog.elementary.io/feed.xml"
"https://blog.gls.de/feed/"
"https://dasklima.podigee.io/feed/mp3"
"https://fed.brid.gy/web/inhji.de/feed?format=rss"
"https://forgefriends.org/index.xml"
"https://forgejo.org/rss.xml"
"https://giessen-direkt.de/giessen/de/flexPrjList/54365/feed"
("https://github.com/InfiniTimeOrg/InfiniTime/releases.atom" '(github release))
("https://github.com/actualbudget/actual/releases.atom" '(github release))
("https://github.com/ceciliamay/obsidianmd-theme-primary/releases.atom" '(github release))
("https://github.com/dani-garcia/vaultwarden/releases.atom" '(github release))
("https://github.com/extrawurst/gitui/releases.atom" '(github release))
("https://github.com/microg/GmsCore/releases.atom" '(github release))
("https://github.com/noatpad/obsidian-banners/releases.atom" '(github release))
("https://github.com/superseriousbusiness/gotosocial/releases.atom" '(github release))
"https://grimgrains.com/links/rss.xml"
"https://jlelse.blog/.rss"
"https://katapult-magazin.de/feed/rss"
"https://katja-diehl.de/feed/"
"https://kevquirk.com/feed"
"https://liamcooke.com/feed.xml"
"https://maudb.gitlab.io/dok/rss.xml"
"https://miniflux.app/feed.xml"
"https://mntre.com/reform_md.atom"
"https://nesslabs.com/feed"
"https://newsfeed.zeit.de/serie/die-kaenguru-comics"
"https://nicolevanderhoeven.com/index.xml"
"https://noyb.eu/en/rss"
"https://nullprogram.com/feed/"
"https://obsidian.md/feed.xml"
"https://ohhelloana.blog/feed.xml"
"https://pluralistic.net/feed/"
"https://shkspr.mobi/blog/feed/"
"https://smallstar.space/feed/"
"https://snikket.org/blog/index.xml"
"https://social.prepedia.org/@FediNINA_Giessen.rss"
"https://solar.lowtechmagazine.com/posts/index.xml"
"https://tarnkappe.info/feed"
"https://theoatmeal.com/feed/rss"
"https://victoria.dev/atom.xml"
"https://warandpeas.com/feed/"
"https://warnung.bund.de/api31/mowas/rss/065310000000.rss"
"https://webcomicname.com/rss"
"https://webdevlaw.uk/feed/"
"https://www.commitstrip.com/en/feed/"
"https://www.drugsandwires.fail/feed/"
"https://www.kuketz-blog.de/category/artikel/feed/"
"https://www.kuketz-blog.de/category/microblog/feed/"
"https://www.mein-nepal.de/feed/"
"https://www.oglaf.com/feeds/rss/"
"https://www.piratenpartei-hessen.de/feed/"
"https://www.schoenescheisse.de/feed/"
"https://www.smbc-comics.com/comic/rss"
"https://www.tomorrow.one/de-DE/feed.xml"
"https://www.volksverpetzer.de/feed/"
"https://www.wetell.de/feed/"
("https://www.youtube.com/feeds/videos.xml?channel_id=UC0e3QhIYukixgh5VVpKHH9Q" youtube)
("https://www.youtube.com/feeds/videos.xml?channel_id=UCCJ-NJtqLQRxuaxHZA9q6zg" youtube)
("https://www.youtube.com/feeds/videos.xml?channel_id=UClZbO3wehSIsPUKLx_X5caw" youtube)
("https://www.youtube.com/feeds/videos.xml?channel_id=UCtUbO6rBht0daVIOGML3c8w" youtube)
("https://www.youtube.com/feeds/videos.xml?channel_id=UCyNtlmLB73-7gtlBz00XOQQ" youtube)
("https://www.youtube.com/feeds/videos.xml?channel_id=UCzg5UMJ62uoKHTkq5bgkp5g" youtube)
"https://zerforschung.org/index.xml"
)))
(use-package! heaven-and-hell
:ensure t
:config
@ -243,78 +324,3 @@
;; (after! org-roam
;; (setq org-roam-directory "~/Notes/Org/Roam")
;; (setq org-roam-dailies-directory "Daily"))
(use-package! elfeed
:config
(setq elfeed-feeds
'("https://www.giessen.de/media/rss/Presse.xml"
"https://adactio.com/journal/rss"
"https://andregarzia.com/feeds/all.atom.xml"
"https://ar.al/index.xml"
"https://archlinux.org/feeds/news/"
"https://ashfurrow.com//feed.xml"
"https://bachrauf.org/feed/"
"https://beko.famkos.net/feed/"
"https://blog.elementary.io/feed.xml"
"https://blog.gls.de/feed/"
"https://dasklima.podigee.io/feed/mp3"
"https://fed.brid.gy/web/inhji.de/feed?format=rss"
"https://forgefriends.org/index.xml"
"https://forgejo.org/rss.xml"
"https://giessen-direkt.de/giessen/de/flexPrjList/54365/feed"
"https://github.com/InfiniTimeOrg/InfiniTime/releases.atom"
"https://github.com/actualbudget/actual/releases.atom"
"https://github.com/ceciliamay/obsidianmd-theme-primary/releases.atom"
"https://github.com/dani-garcia/vaultwarden/releases.atom"
"https://github.com/extrawurst/gitui/releases.atom"
"https://github.com/microg/GmsCore/releases.atom"
"https://github.com/noatpad/obsidian-banners/releases.atom"
"https://github.com/superseriousbusiness/gotosocial/releases.atom"
"https://grimgrains.com/links/rss.xml"
"https://jlelse.blog/.rss"
"https://katapult-magazin.de/feed/rss"
"https://katja-diehl.de/feed/"
"https://kevquirk.com/feed"
"https://liamcooke.com/feed.xml"
"https://maudb.gitlab.io/dok/rss.xml"
"https://miniflux.app/feed.xml"
"https://mntre.com/reform_md.atom"
"https://nesslabs.com/feed"
"https://newsfeed.zeit.de/serie/die-kaenguru-comics"
"https://nicolevanderhoeven.com/index.xml"
"https://noyb.eu/en/rss"
"https://obsidian.md/feed.xml"
"https://ohhelloana.blog/feed.xml"
"https://pluralistic.net/feed/"
"https://shkspr.mobi/blog/feed/"
"https://smallstar.space/feed/"
"https://snikket.org/blog/index.xml"
"https://social.prepedia.org/@FediNINA_Giessen.rss"
"https://solar.lowtechmagazine.com/posts/index.xml"
"https://tarnkappe.info/feed"
"https://theoatmeal.com/feed/rss"
"https://victoria.dev/atom.xml"
"https://warandpeas.com/feed/"
"https://warnung.bund.de/api31/mowas/rss/065310000000.rss"
"https://webcomicname.com/rss"
"https://webdevlaw.uk/feed/"
"https://www.commitstrip.com/en/feed/"
"https://www.drugsandwires.fail/feed/"
"https://www.kuketz-blog.de/category/artikel/feed/"
"https://www.kuketz-blog.de/category/microblog/feed/"
"https://www.mein-nepal.de/feed/"
"https://www.oglaf.com/feeds/rss/"
"https://www.piratenpartei-hessen.de/feed/"
"https://www.schoenescheisse.de/feed/"
"https://www.smbc-comics.com/comic/rss"
"https://www.tomorrow.one/de-DE/feed.xml"
"https://www.volksverpetzer.de/feed/"
"https://www.wetell.de/feed/"
("https://www.youtube.com/feeds/videos.xml?channel_id=UC0e3QhIYukixgh5VVpKHH9Q" youtube)
("https://www.youtube.com/feeds/videos.xml?channel_id=UCCJ-NJtqLQRxuaxHZA9q6zg" youtube)
("https://www.youtube.com/feeds/videos.xml?channel_id=UClZbO3wehSIsPUKLx_X5caw" youtube)
("https://www.youtube.com/feeds/videos.xml?channel_id=UCtUbO6rBht0daVIOGML3c8w" youtube)
("https://www.youtube.com/feeds/videos.xml?channel_id=UCyNtlmLB73-7gtlBz00XOQQ" youtube)
("https://www.youtube.com/feeds/videos.xml?channel_id=UCzg5UMJ62uoKHTkq5bgkp5g" youtube)
"https://zerforschung.org/index.xml"
)))

View File

@ -4,7 +4,7 @@
#+auto_tangle: t
#+STARTUP: overview
This config file is built on doom-emacs ~3.0.0-pre~ and emacs ~29.2~.
This config file is built on doom-emacs ~3.0.0-pre~ and emacs ~29.2~. It is heavily configured towards org mode, since editing org files is the primary goal of this setup.
* Table of Contents :toc:
:PROPERTIES:
@ -19,6 +19,7 @@ This config file is built on doom-emacs ~3.0.0-pre~ and emacs ~29.2~.
- [[#packages][Packages]]
- [[#doom-modeline][doom-modeline]]
- [[#drag-stuff][drag-stuff]]
- [[#elfeed][elfeed]]
- [[#heaven-and-hell][heaven-and-hell]]
- [[#hl-todo][hl-todo]]
- [[#novel][nov.el]]
@ -27,7 +28,6 @@ This config file is built on doom-emacs ~3.0.0-pre~ and emacs ~29.2~.
- [[#org-drill][org-drill]]
- [[#org-noter][org-noter]]
- [[#org-roam][org-roam]]
- [[#elfeed][elfeed]]
* Header
This header will be the first codeblock in the config file.
@ -92,20 +92,18 @@ These keybindings extend the default doom bindings, either because the defaults
| Key | Description | State |
|------------+-------------------------+-------|
| F12 | Show Org-Agenda | N |
| Ctrl-Alt-+ | Increase Font Size | |
| Ctrl-# | Toggle Line Comment | |
| DEL | Up Directory | Dired |
| C-M-+ | Increase Font Size | |
| C-# | Toggle Line Comment | |
| F6 | Toggle Light/Dark Theme | |
| F7 | Start Org-Drill | |
| SPC o r | Open Org-Drill | |
| SPC o e | Open elfeed | |
| SPC m g s | Go to habit stats | Org |
| M-UP | Move line up | |
| M-DOWN | Move line down | |
| M-LEFT | Move region left | |
| M-RIGHT | Move region right | |
#+begin_src emacs-lisp
(map! :n "<f12>" #'org-agenda-list)
(map! :n "<f7>" #'org-drill)
(map! "C-M-+" #'doom/increase-font-size)
;; NOTE: Does not work in org-mode src blocks
@ -113,12 +111,22 @@ These keybindings extend the default doom bindings, either because the defaults
(map! :leader
:map doom-leader-file-map
:desc "Find org files"
"f o" #'org-path-find-file)
:desc "Find org files" "f o" #'org-path-find-file)
(map! :leader
:map doom-leader-open-map
:desc "Open elfeed" "o e" #'elfeed
:desc "Open org drill" "o r" #'org-drill)
(map! :localleader
:after org
:map org-mode-map
:desc "View habit stats" "g s" #'org-habit-stats-view-habit-at-point)
#+end_src
#+RESULTS:
* Base Config
#+begin_src emacs-lisp
@ -214,7 +222,7 @@ There are a few things to point out here:
+org-capture-nepali-file (org-path "Nepali.org")
org-capture-templates
'(("t" "Personal Todo" entry
(file +org-capture-todo-file)
(file+headline +org-capture-todo-file "Todo")
"* TODO %?\n" :prepend t)
("r" "Recipe" entry
@ -249,8 +257,6 @@ There are a few things to point out here:
(file+olp+datetree +org-capture-journal-file)
"* %U %?\n" :prepend t)))
:bind (:map org-mode-map("<localleader> g s" . #'org-habit-stats-view-habit-at-point))
:hook (org-after-todo-state-change . org-habit-stats-update-properties)
:init
(add-to-list 'org-modules 'org-habit)
@ -281,111 +287,6 @@ With drag stuff you can use ~M-UP~ and ~M-DOWN~ to move lines. You can also mark
:init (drag-stuff-global-mode t))
#+end_src
** heaven-and-hell
Heaven and hell is a theme switcher, which allows you to select a dark and light theme and toggle between them using a key.
#+begin_src emacs-lisp
(use-package! heaven-and-hell
:ensure t
:config
(setq heaven-and-hell-theme-type 'dark ;; Omit to use light by default
heaven-and-hell-themes
'((light . doom-nord-light)
(dark . doom-nord)) ;; Themes can be the list: (dark . (tsdh-dark wombat))
heaven-and-hell-load-theme-no-confirm t)
:hook (after-init . heaven-and-hell-init-hook)
:bind (("<f6>" . heaven-and-hell-toggle-theme)))
#+end_src
** hl-todo
#+begin_src emacs-lisp
(use-package! hl-todo
:config
(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)))
:hook (org-mode . hl-todo-mode))
#+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 emacs.
#+begin_src emacs-lisp
(use-package! olivetti
:init
(add-hook! 'nov-mode-hook 'olivetti-mode)
(add-hook! 'org-mode-hook
'(olivetti-mode
(lambda () (display-line-numbers-mode -1)))))
;; (after! olivetti (setq olivetti-body-width 70))
;; (add-hook! 'org-mode-hook '(olivetti-mode (lambda () (display-line-numbers-mode -1))))
#+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
A annotation tool for org-mode
#+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
(use-package! org-roam
:config (setq org-roam-directory "~/Notes/Org/Roam"
org-roam-dailies-directory "Daily"))
;; (after! org-roam
;; (setq org-roam-directory "~/Notes/Org/Roam")
;; (setq org-roam-dailies-directory "Daily"))
#+end_src
** elfeed
#+begin_src emacs-lisp
@ -407,14 +308,14 @@ A annotation tool for org-mode
"https://forgefriends.org/index.xml"
"https://forgejo.org/rss.xml"
"https://giessen-direkt.de/giessen/de/flexPrjList/54365/feed"
"https://github.com/InfiniTimeOrg/InfiniTime/releases.atom"
"https://github.com/actualbudget/actual/releases.atom"
"https://github.com/ceciliamay/obsidianmd-theme-primary/releases.atom"
"https://github.com/dani-garcia/vaultwarden/releases.atom"
"https://github.com/extrawurst/gitui/releases.atom"
"https://github.com/microg/GmsCore/releases.atom"
"https://github.com/noatpad/obsidian-banners/releases.atom"
"https://github.com/superseriousbusiness/gotosocial/releases.atom"
("https://github.com/InfiniTimeOrg/InfiniTime/releases.atom" '(github release))
("https://github.com/actualbudget/actual/releases.atom" '(github release))
("https://github.com/ceciliamay/obsidianmd-theme-primary/releases.atom" '(github release))
("https://github.com/dani-garcia/vaultwarden/releases.atom" '(github release))
("https://github.com/extrawurst/gitui/releases.atom" '(github release))
("https://github.com/microg/GmsCore/releases.atom" '(github release))
("https://github.com/noatpad/obsidian-banners/releases.atom" '(github release))
("https://github.com/superseriousbusiness/gotosocial/releases.atom" '(github release))
"https://grimgrains.com/links/rss.xml"
"https://jlelse.blog/.rss"
"https://katapult-magazin.de/feed/rss"
@ -428,6 +329,7 @@ A annotation tool for org-mode
"https://newsfeed.zeit.de/serie/die-kaenguru-comics"
"https://nicolevanderhoeven.com/index.xml"
"https://noyb.eu/en/rss"
"https://nullprogram.com/feed/"
"https://obsidian.md/feed.xml"
"https://ohhelloana.blog/feed.xml"
"https://pluralistic.net/feed/"
@ -464,3 +366,116 @@ A annotation tool for org-mode
"https://zerforschung.org/index.xml"
)))
#+end_src
** heaven-and-hell
Heaven and hell is a theme switcher, which allows you to select a dark and light theme and toggle between them using a key.
#+begin_src emacs-lisp
(use-package! heaven-and-hell
:ensure t
:config
(setq heaven-and-hell-theme-type 'dark ;; Omit to use light by default
heaven-and-hell-themes
'((light . doom-nord-light)
(dark . doom-nord)) ;; Themes can be the list: (dark . (tsdh-dark wombat))
heaven-and-hell-load-theme-no-confirm t)
:hook (after-init . heaven-and-hell-init-hook)
:bind (("<f6>" . heaven-and-hell-toggle-theme)))
#+end_src
** hl-todo
Highlights keywords like TODO in code. Also enabled in org mode.
#+begin_src emacs-lisp
(use-package! hl-todo
:config
(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)))
:hook (org-mode . hl-todo-mode))
#+end_src
** nov.el
epub reader. Olivetti mode is used to make it look nicer.
#+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 and org mode in emacs.
#+begin_src emacs-lisp
(use-package! olivetti
:init
(add-hook! 'nov-mode-hook 'olivetti-mode)
(add-hook! 'org-mode-hook
'(olivetti-mode
(lambda () (display-line-numbers-mode -1)))))
;; (after! olivetti (setq olivetti-body-width 70))
;; (add-hook! 'org-mode-hook '(olivetti-mode (lambda () (display-line-numbers-mode -1))))
#+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
A annotation tool for org-mode.
#+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
Zettelkasten in org-mode.
#+begin_src emacs-lisp
(use-package! org-roam
:config (setq org-roam-directory "~/Notes/Org/Roam"
org-roam-dailies-directory "Daily"))
;; (after! org-roam
;; (setq org-roam-directory "~/Notes/Org/Roam")
;; (setq org-roam-dailies-directory "Daily"))
#+end_src