diff --git a/config/dot_config/doom/README.org b/config/dot_config/doom/README.org new file mode 100644 index 0000000..525218e --- /dev/null +++ b/config/dot_config/doom/README.org @@ -0,0 +1,99 @@ +#+TITLE: Emacs Config +#+AUTHOR: Jonathan Jenne / Inhji +#+PROPERTY: header-args :tangle config.org.el +#+auto_tangle: t + +* Emacs Config + +#+begin_src emacs-lisp +;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- + +;; Basic User Settings +(setq user-full-name "Jonathan Jenne" + user-mail-address "johnnie@posteo.de") + +;; Org Path +(setq +user-org-path "~/Notes/Org") +(defun org-path (filename) (expand-file-name filename +user-org-path)) + +;; Default Shell +;; Useful if default system shell is not bash +(setq shell-file-name (executable-find "bash")) + +;; Custom keybindings +(map! :n "" #'org-agenda-list) +(map! "C-M-+" #'doom/increase-font-size) +(map! "C-#" #'comment-line) + +;; Display Line numbers +(setq display-line-numbers-type t) + +;; Set Emacs theme +(setq doom-theme 'catppuccin) + +;; Dashboard +(setq dashboard-startup-banner nil) + +;; Org-Mode +(add-to-list 'org-modules 'org-habit) + +(after! org (setq org-directory +user-org-path + org-src-tab-acts-natively t)) + +;; Org Capture +(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-travel-journal-file (org-path "Travel.org"))) + +(after! org (setq org-capture-templates + '(("t" "Personal todo" entry + (file+headline +org-capture-todo-file "Inbox") + "* TODO %?\n" :prepend t) + + ("n" "Personal notes" entry + (file+headline +org-capture-notes-file "Inbox") + "* %u %?\n" :prepend t) + + ("j" "Journal entries") + + ("jt" "Travelling Journal" entry + (file+headline +org-capture-travel-journal-file "Inbox") + "* %u %?\n" :prepend t) + + ("jj" "Journal" entry + (file+olp+datetree +org-capture-journal-file) + "* %U %?\n" :prepend t)))) + +;; Org-Agenda +(after! org (setq + org-agenda-show-all-dates nil + org-agenda-span 4 + org-agenda-start-day "+0d" + org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done) + org-agenda-time-grid + '((daily today require-timed) + (800 1000 1200 1400 1600 1800 2000) + " ┄┄┄┄┄ " "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄") + org-agenda-current-time-string + "◀── now ──────────────────────────────────────────────── \\o/" + org-agenda-block-separator ?─ + ;; Consider all org files part of the org-agenda + org-agenda-files (list +user-org-path))) + +;; Org-Auto-Tangle +(setq org-auto-tangle-default nil) + +;; Dired +(evil-define-key 'normal dired-mode-map + (kbd "DEL") 'dired-up-directory) + +;; Hooks +(add-hook 'org-mode-hook #'org-modern-mode) +(add-hook 'org-agenda-finalize-hook #'org-modern-agenda) + +;; Package Configuration +(use-package! org-auto-tangle + :defer t + :hook (org-mode . org-auto-tangle-mode)) +#+end_src diff --git a/config/dot_config/doom/config.org.el b/config/dot_config/doom/config.org.el new file mode 100644 index 0000000..da2013b --- /dev/null +++ b/config/dot_config/doom/config.org.el @@ -0,0 +1,90 @@ +;;; $DOOMDIR/config.el -*- lexical-binding: t; -*- + +;; Basic User Settings +(setq user-full-name "Jonathan Jenne" + user-mail-address "johnnie@posteo.de") + +;; Org Path +(setq +user-org-path "~/Notes/Org") +(defun org-path (filename) (expand-file-name filename +user-org-path)) + +;; Default Shell +;; Useful if default system shell is not bash +(setq shell-file-name (executable-find "bash")) + +;; Custom keybindings +(map! :n "" #'org-agenda-list) +(map! "C-M-+" #'doom/increase-font-size) +(map! "C-#" #'comment-line) + +;; Display Line numbers +(setq display-line-numbers-type t) + +;; Set Emacs theme +(setq doom-theme 'catppuccin) + +;; Dashboard +(setq dashboard-startup-banner nil) + +;; Org-Mode +(add-to-list 'org-modules 'org-habit) + +(after! org (setq org-directory +user-org-path + org-src-tab-acts-natively t)) + +;; Org Capture +(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-travel-journal-file (org-path "Travel.org"))) + +(after! org (setq org-capture-templates + '(("t" "Personal todo" entry + (file+headline +org-capture-todo-file "Inbox") + "* TODO %?\n" :prepend t) + + ("n" "Personal notes" entry + (file+headline +org-capture-notes-file "Inbox") + "* %u %?\n" :prepend t) + + ("j" "Journal entries") + + ("jt" "Travelling Journal" entry + (file+headline +org-capture-travel-journal-file "Inbox") + "* %u %?\n" :prepend t) + + ("jj" "Journal" entry + (file+olp+datetree +org-capture-journal-file) + "* %U %?\n" :prepend t)))) + +;; Org-Agenda +(after! org (setq + org-agenda-show-all-dates nil + org-agenda-span 4 + org-agenda-start-day "+0d" + org-agenda-skip-function '(org-agenda-skip-entry-if 'todo 'done) + org-agenda-time-grid + '((daily today require-timed) + (800 1000 1200 1400 1600 1800 2000) + " ┄┄┄┄┄ " "┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄") + org-agenda-current-time-string + "◀── now ──────────────────────────────────────────────── \\o/" + org-agenda-block-separator ?─ + ;; Consider all org files part of the org-agenda + org-agenda-files (list +user-org-path))) + +;; Org-Auto-Tangle +(setq org-auto-tangle-default nil) + +;; Dired +(evil-define-key 'normal dired-mode-map + (kbd "DEL") 'dired-up-directory) + +;; Hooks +(add-hook 'org-mode-hook #'org-modern-mode) +(add-hook 'org-agenda-finalize-hook #'org-modern-agenda) + +;; Package Configuration +(use-package! org-auto-tangle + :defer t + :hook (org-mode . org-auto-tangle-mode))