dotfiles/config/dot_config/doom/config.org

2.1 KiB

Literate Doom Emacs Config

Place your private configuration here! Remember, you do not need to run 'doom sync' after modifying this file!

Base Setup

;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
(setq user-full-name "Jonathan Jenne"
      user-mail-address "johnnie@posteo.de")

Appearance

(setq doom-theme 'doom-one)

Misc

;; This determines the style of line numbers in effect. If set to `nil', line
;; numbers are disabled. For relative line numbers, set this to `relative'.
(setq display-line-numbers-type t)

;; If you use `org' and don't want your org files in the default location below,
;; change `org-directory'. It must be set before org loads!
(setq org-directory "~/Notes/Org")

(after! org (setq +org-capture-notes-file "Notes.org"
                  +org-capture-todo-file "Todo.org"))

;; Configure Org-Agenda
(after! org (setq
        org-agenda-show-all-dates nil
        org-agenda-span 2
        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 "~/Notes/Org")))

;; Set bash as the default shell to run Emacs in since fish can cause problems
(setq shell-file-name (executable-find "bash"))

;; Initialize org-modern
(add-hook 'org-mode-hook #'org-modern-mode)
(add-hook 'org-agenda-finalize-hook #'org-modern-agenda)

(add-hook! org-mode :append
  (lambda () (add-hook 'after-save-hook
                  #'org-babel-tangle :append :local)))