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
- Flagship themes
- Additional themes
-
doom-acario-dark
: an original dark theme (thanks to gagbo) -
doom-acario-light
: an original light theme (thanks to gagbo) -
doom-city-lights
: based on Atom's City lights (thanks to fuxialexander) -
doom-challenger-deep
: based on Vim's Challenger deep theme (thanks to fuxialexander) -
doom-dark+
ported from VS Code's Dark+ theme (thanks to ema2159) -
doom-dracula
: an implementation of Dracula theme (thanks to fuxialexander) -
doom-ephemeral
: inspired in the Ephemeral Theme from elenapan's dotfiles (thanks to karetsu) -
doom-fairy-floss
: a candy colored Sublime theme by sailorhg (thanks to ema2159) -
doom-gruvbox
: adapted from Morhetz's Gruvbox (thanks to JongW) -
doom-gruvbox-light
: adapted from Morhetz's Gruvbox light variant (thanks for jsoa) -
doom-henna
: based on VS Code's Henna (thanks to jsoa) -
doom-horizon
: ported from VS Code's Horizon (thanks to karetsu) -
doom-Iosvkem
: adapted from Iosvkem (thanks to neutaaaaan) -
doom-laserwave
: a clean 80's synthwave / outrun theme inspired by VS Code's laserwave (thanks to hyakt) -
doom-material
adapted from Material Themes (thanks to tam5) -
doom-manegarm
: an original autumn-inspired dark theme (thanks to kenranunderscore) -
doom-molokai
: a theme based on Texmate's Monokai -
doom-monokai-classic
: port of Monokai's Classic variant (thanks to ema2159) -
doom-monokai-pro
: port of Monokai's Pro variant (thanks to kadenbarlow) -
doom-moonlight
ported from VS Code's Moonlight Theme (thanks to Brettm12345) -
doom-nord
: dark variant of Nord (thanks to fuxialexander) -
doom-nord-light
: light variant of Nord (thanks to fuxialexander) -
doom-nova
: adapted from Nova (thanks to bigardone) -
doom-oceanic-next
: adapted from Oceanic Next theme (thanks to juanwolf) -
doom-opera
: an original dark theme (thanks to jwintz) -
doom-opera-light
: an original light theme (thanks to jwintz) -
doom-outrun-electric
: a neon colored theme inspired in VS Code's Outrun Electric (thanks to ema2159) -
doom-palenight
adapted from Material Themes (thanks to Brettm12345) -
doom-peacock
: based on Peacock from daylerees' themes (thanks to teesloane) -
doom-rouge
: ported from VSCode's Rouge Theme (thanks to JordanFaust) -
doom-snazzy
: a dark theme inspired in Atom's Hyper Snazzy (thanks to ar1a) -
doom-solarized-dark
: dark variant of Solarized (thanks to ema2159) -
doom-solarized-light
: light variant of Solarized (thanks to fuxialexander) -
doom-sourcerer
: based on Sourcerer (thanks to defphil) -
doom-spacegrey
: I'm sure you've heard of it (thanks to teesloane) -
doom-tomorrow-day
: Tomorrow's light variant (thanks to emacswatcher) -
doom-tomorrow-night
: one of the dark variants of Tomorrow (thanks to emacswatcher) -
doom-wilmersdorf
: port of Ian Pan's Wilmersdorf (thanks to ema2159) -
doom-zenburn
: port of the popular Zenburn theme (thanks to jsoa) -
doom-mono-dark
/doom-mono-light
: a minimalistic, monochromatic theme -
doom-tron
: based on Tron Legacy from daylerees' themes
-
-
(doom-themes-visual-bell-config)
: flash the mode-line when the Emacs bell rings (i.e. an error occurs). -
(doom-themes-neotree-config)
: a 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-treemacs-config)
: two treemacs icon themes, one that takes after Atom's, and a second more colorful implementation (WIP). -
(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-tags
to 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-line
to 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.
There are several themes which have their own customization options. For example, doom-dark+
default modeline color can be changed with the doom-dark+-blue-modeline
custom variable, or you can switch between doom-gruvbox-light
variants with the doom-gruvbox-light-variant
custom variable.
The built-in :ui doom
module installs doom-themes
for you, and loads
doom-one
by default. You can change the theme by changing the doom-theme
variable from ~/.doom.d/config.el
:
(setq doom-theme 'doom-city-lights)
Or by loading it manually:
(load-theme 'doom-city-lights t)
doom-themes
is available on MELPA.
- Straight users can install it with
M-x straight-use-package RET doom-themes
- And package.el users:
M-x package-install RET doom-themes
Here is a example configuration for doom-theme
:
(use-package doom-themes
:config
;; 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-theme 'doom-one t)
;; Enable flashing mode-line on errors
(doom-themes-visual-bell-config)
;; Enable custom neotree theme (all-the-icons must be installed!)
(doom-themes-neotree-config)
;; or for treemacs users
(setq doom-themes-treemacs-theme "doom-colors") ; use the colorful treemacs theme
(doom-themes-treemacs-config)
;; Corrects (and improves) org-mode's native fontification.
(doom-themes-org-config))
The wiki contains details for customizing the neotree theme.
-
If you use
nlinum
orlinum
in 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.