Compare commits

...

2 Commits

Author SHA1 Message Date
Inhji 1e1d316e35 organize config.org 2024-02-15 12:05:45 +05:45
Inhji 58d178c26b add heaven-and-hell theme switcher 2024-02-15 12:05:28 +05:45
3 changed files with 118 additions and 48 deletions

View File

@ -1,9 +1,5 @@
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- ;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
(map! :n "<f12>" #'org-agenda-list)
(map! "C-M-+" #'doom/increase-font-size)
(map! "C-#" #'comment-line)
;; Basic User Settings ;; Basic User Settings
(setq user-full-name "Jonathan Jenne" (setq user-full-name "Jonathan Jenne"
user-mail-address "johnnie@posteo.de") user-mail-address "johnnie@posteo.de")
@ -15,30 +11,41 @@
;; Display Line numbers ;; Display Line numbers
(setq display-line-numbers-type t) (setq display-line-numbers-type t)
;; Set Emacs theme ;; General Keybindings
;;(setq doom-theme 'gruvbox) (map! :n "<f12>" #'org-agenda-list)
(map! "C-M-+" #'doom/increase-font-size)
(map! "C-#" #'comment-line)
(evil-define-key 'normal dired-mode-map
(kbd "DEL") 'dired-up-directory)
;; Hooks (use-package! heaven-and-hell
:ensure t
:config
(setq heaven-and-hell-theme-type 'dark) ;; Omit to use light by default
(setq heaven-and-hell-themes
'((light . doom-feather-light)
(dark . doom-feather-dark))) ;; Themes can be the list: (dark . (tsdh-dark wombat))
;; Optionall, load themes without asking for confirmation.
(setq heaven-and-hell-load-theme-no-confirm t)
:hook (after-init . heaven-and-hell-init-hook)
:bind (("C-c <f6>" . heaven-and-hell-load-default-theme)
("<f6>" . heaven-and-hell-toggle-theme)))
;; Org Mode
(add-hook 'org-mode-hook #'org-modern-mode) (add-hook 'org-mode-hook #'org-modern-mode)
(add-hook 'org-agenda-finalize-hook #'org-modern-agenda) (add-hook 'org-mode-hook #'hl-todo-mode)
(setq hl-todo-keyword-faces '(("TODO" warning bold) ;; Org Agenda
("FIXME" error bold) (add-hook 'org-agenda-finalize-hook #'org-modern-agenda)
("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)))
(setq +user-org-path "~/Notes/Org") (setq +user-org-path "~/Notes/Org")
(defun org-path (filename) (expand-file-name filename +user-org-path)) (defun org-path (filename) (expand-file-name filename +user-org-path))
(add-to-list 'org-modules 'org-habit)
(after! org (setq org-directory +user-org-path (after! org (setq org-directory +user-org-path
org-src-tab-acts-natively t)) org-src-tab-acts-natively t))
(add-to-list 'org-modules 'org-habit)
(after! org (setq +org-capture-notes-file (org-path "Notes.org") (after! org (setq +org-capture-notes-file (org-path "Notes.org")
+org-capture-todo-file (org-path "Todo.org") +org-capture-todo-file (org-path "Todo.org")
+org-capture-journal-file (org-path "Journal.org") +org-capture-journal-file (org-path "Journal.org")
@ -78,11 +85,16 @@
;; 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)))
(setq org-auto-tangle-default nil) (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))))
(use-package! org-auto-tangle (use-package! org-auto-tangle
:defer t :defer t
:config (setq org-auto-tangle-default nil)
:hook (org-mode . org-auto-tangle-mode)) :hook (org-mode . org-auto-tangle-mode))
(evil-define-key 'normal dired-mode-map
(kbd "DEL") 'dired-up-directory)

View File

@ -3,13 +3,35 @@
#+PROPERTY: header-args :tangle config.el #+PROPERTY: header-args :tangle config.el
#+auto_tangle: t #+auto_tangle: t
* Table of Contents :toc:
- [[#keybindings][Keybindings]]
- [[#base-config][Base Config]]
- [[#themes][Themes]]
- [[#org-mode][Org Mode]]
- [[#hooks][Hooks]]
- [[#general-settings][General Settings]]
- [[#org-capture][Org Capture]]
- [[#org-agenda][Org Agenda]]
- [[#packages][Packages]]
- [[#hl-todo][hl-todo]]
- [[#org-auto-tangle][org-auto-tangle]]
* Keybindings
| Key | Description | State |
|------------+-------------------------+-------|
| F12 | Show Org-Agenda | N |
| Ctrl-Alt-+ | Increase Font Size | |
| Ctrl-# | Toggle Line Comment | |
| F6 | Toggle Light/Dark Theme | |
| Ctrl-c F6 | Load Default Theme | |
| DEL | Up Directory | Dired |
* Base Config
#+begin_src emacs-lisp #+begin_src emacs-lisp
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- ;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
(map! :n "<f12>" #'org-agenda-list)
(map! "C-M-+" #'doom/increase-font-size)
(map! "C-#" #'comment-line)
;; Basic User Settings ;; Basic User Settings
(setq user-full-name "Jonathan Jenne" (setq user-full-name "Jonathan Jenne"
user-mail-address "johnnie@posteo.de") user-mail-address "johnnie@posteo.de")
@ -21,30 +43,53 @@
;; Display Line numbers ;; Display Line numbers
(setq display-line-numbers-type t) (setq display-line-numbers-type t)
;; Set Emacs theme ;; General Keybindings
;;(setq doom-theme 'gruvbox) (map! :n "<f12>" #'org-agenda-list)
(map! "C-M-+" #'doom/increase-font-size)
(map! "C-#" #'comment-line)
(evil-define-key 'normal dired-mode-map
(kbd "DEL") 'dired-up-directory)
#+end_src
;; Hooks * Themes
#+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
(setq heaven-and-hell-themes
'((light . doom-feather-light)
(dark . doom-feather-dark))) ;; Themes can be the list: (dark . (tsdh-dark wombat))
;; Optionall, load themes without asking for confirmation.
(setq heaven-and-hell-load-theme-no-confirm t)
:hook (after-init . heaven-and-hell-init-hook)
:bind (("C-c <f6>" . heaven-and-hell-load-default-theme)
("<f6>" . heaven-and-hell-toggle-theme)))
#+end_src
* Org Mode
** Hooks
#+begin_src emacs-lisp
;; Org Mode
(add-hook 'org-mode-hook #'org-modern-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) (add-hook 'org-agenda-finalize-hook #'org-modern-agenda)
#+end_src
(setq hl-todo-keyword-faces '(("TODO" warning bold) ** General Settings
("FIXME" error bold) #+begin_src emacs-lisp
("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)))
(setq +user-org-path "~/Notes/Org") (setq +user-org-path "~/Notes/Org")
(defun org-path (filename) (expand-file-name filename +user-org-path)) (defun org-path (filename) (expand-file-name filename +user-org-path))
(add-to-list 'org-modules 'org-habit)
(after! org (setq org-directory +user-org-path (after! org (setq org-directory +user-org-path
org-src-tab-acts-natively t)) org-src-tab-acts-natively t))
(add-to-list 'org-modules 'org-habit)
#+end_src
** Org Capture
#+begin_src emacs-lisp
(after! org (setq +org-capture-notes-file (org-path "Notes.org") (after! org (setq +org-capture-notes-file (org-path "Notes.org")
+org-capture-todo-file (org-path "Todo.org") +org-capture-todo-file (org-path "Todo.org")
+org-capture-journal-file (org-path "Journal.org") +org-capture-journal-file (org-path "Journal.org")
@ -68,7 +113,9 @@
("jj" "Journal" entry ("jj" "Journal" entry
(file+olp+datetree +org-capture-journal-file) (file+olp+datetree +org-capture-journal-file)
"* %U %?\n" :prepend t)))) "* %U %?\n" :prepend t))))
#+end_src
** Org Agenda
#+begin_src emacs-lisp
(after! org (setq (after! org (setq
org-agenda-show-all-dates nil org-agenda-show-all-dates nil
org-agenda-span 4 org-agenda-span 4
@ -83,13 +130,23 @@
org-agenda-block-separator ?─ org-agenda-block-separator ?─
;; 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)))
#+end_src
(setq org-auto-tangle-default nil) * Packages
** hl-todo
#+begin_src emacs-lisp
(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))))
#+end_src
** org-auto-tangle
#+begin_src emacs-lisp
(use-package! org-auto-tangle (use-package! org-auto-tangle
:defer t :defer t
:config (setq org-auto-tangle-default nil)
:hook (org-mode . org-auto-tangle-mode)) :hook (org-mode . org-auto-tangle-mode))
(evil-define-key 'normal dired-mode-map
(kbd "DEL") 'dired-up-directory)
#+end_src #+end_src

View File

@ -14,6 +14,7 @@
(package! org-auto-tangle) (package! org-auto-tangle)
(package! org-habit-stats) (package! org-habit-stats)
(package! catppuccin-theme) (package! catppuccin-theme)
(package! heaven-and-hell)
;; 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: