Doom Emacs configuration
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
doom/config.org

2.6 KiB

von's Doom Emacs config

User name and email

(setq user-full-name "Von Random"
      user-mail-address "von@mechanus.net")

Aesthetics

Font and theme

(setq doom-font (font-spec :family "Fantasque Sans Mono" :size 17)
      doom-variable-pitch-font (font-spec :family "PT Sans"))
(setq doom-theme 'doom-gruvbox)

Window size and position

(add-to-list 'default-frame-alist '(height . 60))
(add-to-list 'default-frame-alist '(width . 125))

Other settings

(setq display-line-numbers-type 'relative)
(setq org-directory "~/org/")
(menu-bar-mode -1)

Package settings

Whenever you reconfigure a package, make sure to wrap your config in an `after!' block, otherwise Doom's defaults may override your settings. E.g.

(after! PACKAGE (setq x y))

The exceptions to this rule:

  • Setting file/directory variables (like `org-directory')
  • Setting variables which explicitly tell you to set them before their package is loaded (see 'C-h v VARIABLE' to look up their documentation).
  • Setting doom variables (which start with 'doom-' or '+').

Here are some additional functions/macros that will help you configure Doom.

  • `load!' for loading external *.el files relative to this one
  • `use-package!' for configuring packages
  • `after!' for running code after a package has loaded
  • `add-load-path!' for adding directories to the `load-path', relative to this file. Emacs searches the `load-path' when you load packages with `require' or `use-package'.
  • `map!' for binding new keys

To get information about any of these functions/macros, move the cursor over the highlighted symbol at press 'K' (non-evil users must press 'C-c c k'). This will open documentation for it, including demos of how they are used. Alternatively, use `C-h o' to look up a symbol (functions, variables, faces, etc).

You can also try 'gd' (or 'C-c c d') to jump to their definition and see how they are implemented.

Org Mode

(after! org
  (setq org-hide-emphasis-markers t)
  (custom-set-faces!
    '(org-table   :height 1.1 :weight normal)
    '(org-level-1 :height 1.8 :weight ultra-bold)
    '(org-level-2 :height 1.7 :weight extra-bold)
    '(org-level-3 :height 1.6 :weight bold)
    '(org-level-4 :height 1.5 :weight semi-bold)
    '(org-level-5 :height 1.4 :weight normal)
    '(org-level-6 :height 1.3 :weight normal)
    '(org-level-7 :height 1.2 :weight normal)
    '(org-level-8 :height 1.1 :weight normal))
  (add-hook 'org-mode-hook #'mixed-pitch-mode))