DOOM Themes is an opinionated UI plugin and pack of themes extracted from my emacs.d, inspired by some of my favorite color themes.
Table of Contents
- Color themes:
-
doom-one: doom-themes' flagship theme, inspired by Atom's One Dark themes -
doom-vibrant: a more vibrant version ofdoom-one -
doom-molokai: based on Textmate's monokai -
doom-nova: adapted from Nova (thanks to bigardone) -
doom-one-light: light version of doom-one (thanks to ztlevi) -
doom-peacock: based on Peacock from daylerees' themes (thanks to teesloane) -
doom-tomorrow-night: by Chris Kempson -
doom-spacegrey: I'm sure you've heard of it (thanks to teesloane) -
doom-solarized-light: light variant of Solarized (thanks to fuxialexander) -
doom-tomorrow-day: by Chris Kempson -
doom-x: reads your colors from ~/.Xresources -
doom-mono-dark/doom-mono-light: a minimalistic, monochromatic theme -
doom-tron: based on Tron Legacy from daylerees' themes
-
- Included features:
-
(doom-themes-visual-bell-config): flash the mode-line when the Emacs bell rings (i.e. an error occurs). -
(doom-themes-neotree-config): a customizable neotree theme that takes after Atom's file drawer, and is simpler than the built in icon theme in neotree (screenshot, more details).This requires
all-the-icons' fonts to be installed:M-x all-the-icons-install-fonts -
(doom-themes-org-config): corrects and improves some of org-mode's native fontification.- Re-set
org-todo' &org-headline-done' faces to make them respect underlying faces (i.e. don't override the :height or :background of underlying faces). - Make statistic cookies respect underlying faces.
- Fontify item bullets (make them stand out)
- Fontify item checkboxes (and when they're marked done), like TODOs that are marked done.
- Fontify dividers/separators (5+ dashes)
- Fontify #hashtags and @at-tags, for personal convenience; see
doom-org-special-tagsto disable this.
- Re-set
-
- Resources that may interest you:
- To get dimmed sidebars and brighter source buffers (like in the screenshots), see solaire-mode.
- To get line number highlighting for
nlinum, setnlinum-highlight-current-lineto non-nil (or see hlinum forlinum). - AnthonyDiGirolamo added doom-one (screenshot) and doom-molokai (screenshot) skins to airline-themes.
- I'm working on making my modeline more accessible. In the meantime, check out my mode-line configuration in my emacs.d.
M-x package-install RET doom-themes
A comprehensive configuration example:
(require 'doom-themes)
;; Global settings (defaults)
(setq doom-themes-enable-bold t ; if nil, bold is universally disabled
doom-themes-enable-italic t) ; if nil, italics is universally disabled
;; Load the theme (doom-one, doom-molokai, etc); keep in mind that each theme
;; may have their own settings.
(load-theme 'doom-one t)
;; Enable flashing mode-line on errors
(doom-themes-visual-bell-config)
;; Enable custom neotree theme
(doom-themes-neotree-config) ; all-the-icons fonts must be installed!
;; Corrects (and improves) org-mode's native fontification.
(doom-themes-org-config)The wiki contains details for customizing the neotree theme.
-
If you use
nlinumorlinumin org-mode, the larger headline sizes in some themes could bleed into the line numbers.Fix this by setting :height explicitly for your line number plugins, after you've loaded the theme. e.g.
(let ((height (face-attribute 'default :height))) ;; for all linum/nlinum users (set-face-attribute 'linum nil :height height) ;; only for `linum-relative' users: (set-face-attribute 'linum-relative-current-face nil :height height) ;; only for `nlinum-relative' users: (set-face-attribute 'nlinum-relative-current-face nil :height height))
I welcome contributions of any kind, be they pull requests, bug reports or elisp pointers. Additional theme and plugin support requests are welcome too.