A theme megapack for GNU Emacs, inspired by community favorites. Special attention is given for Doom Emacs and solaire-mode support, but will work fine anywhere else.
Table of Contents
The built-in :ui doom
module installs and configures doom-themes
for you,
and loads doom-one
by default. To change the theme, change doom-theme
:
;; in ~/.doom.d/config.el
(setq doom-theme 'doom-city-lights)
doom-themes
is available on MELPA. Here is an example configuration with some
common defaults laid out:
(use-package doom-themes
:ensure t
: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-atom") ; use "doom-colors" for less minimal icon theme
(doom-themes-treemacs-config)
;; Corrects (and improves) org-mode's native fontification.
(doom-themes-org-config))
These themes were written by the author of this package and are most maintained:
Name | Description |
---|---|
doom-one |
Flagship theme based on atom One Dark |
doom-one-light |
Flagship theme based on atom One Light |
doom-vibrant |
A more vibrant version of doom-one |
These themes were submitted to us by the community. We welcome PRs to help us maintain them and address inconsistencies:
Name | Description |
---|---|
doom-1337 |
ported from VSCode's 1337 Theme |
doom-acario-dark |
an original dark theme (thanks to gagbo) |
doom-acario-light |
an original light theme (thanks to gagbo) |
doom-ayu-mirage |
Dark variant from Ayu themes (thanks to LoveSponge) |
doom-ayu-light |
Light variant from Ayu themes(thanks to LoveSponge) |
doom-badger |
Based on original Badger theme |
doom-challenger-deep |
based on Vim's Challenger deep theme (thanks to fuxialexander) |
doom-city-lights |
based on Atom's City lights (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-flatwhite |
a unique light theme ported from Flatwhite Syntax (thanks to ShaneKilkelly) |
doom-gruvbox-light |
adapted from Morhetz's Gruvbox light variant (thanks for jsoa) |
doom-gruvbox |
adapted from Morhetz's Gruvbox (thanks to JongW) |
doom-henna |
based on VS Code's Henna (thanks to jsoa) |
doom-homage-black |
dark variant of doom-homage white. (thanks to mskorzhinskiy) |
doom-homage-white |
a minimalistic, colorless theme, inspired by eziam, tao and jbeans themes. (thanks to mskorzhinskiy) |
doom-horizon |
ported from VS Code's Horizon (thanks to karetsu) |
doom-Iosvkem |
adapted from Iosvkem (thanks to neutaaaaan) |
doom-ir-black |
Port of VIM's IR_Black color scheme (thanks to legendre6891) |
doom-laserwave |
a clean 80's synthwave / outrun theme inspired by VS Code's laserwave (thanks to hyakt) |
doom-manegarm |
an original autumn-inspired dark theme (thanks to kenranunderscore) |
doom-material |
adapted from Material Themes (thanks to tam5) |
doom-miramare |
a port of Franbach's Miramare, a variant of gruvbox theme (thanks to sagittaros) |
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-monokai-machine |
port of Monokai's Pro (Machine) variant (thanks to minikN) |
doom-monokai-octagon |
port of Monokai's Pro (Octagon) variant (thanks to minikN) |
doom-monokai-ristretto |
port of Monokai's Pro (Ristretto) variant (thanks to minikN) |
doom-monokai-spectrum |
port of Monokai's Pro (Spectrum) variant (thanks to minikN) |
doom-moonlight |
ported from VS Code's Moonlight Theme (thanks to Brettm12345) |
doom-nord-light |
light variant of Nord (thanks to fuxialexander) |
doom-nord |
dark 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-old-hope |
based on An Old Hope theme (thanks to teesloane) |
doom-opera-light |
an original light theme (thanks to jwintz) |
doom-opera |
an original dark 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-plain-dark |
based on plain (thanks to das-s) |
doom-plain |
based on plain (thanks to mateossh) |
doom-rouge |
ported from VSCode's Rouge Theme (thanks to JordanFaust) |
doom-shades-of-purple |
a purple and vibrant theme inspired by VSCode's Shades of Purple (thanks to [jwbaldwin]) |
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-dark-high-contrast |
high contrast dark variant of Solarized (thanks to jmorag) |
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-xcode |
Based off of Apple's Xcode Dark theme (thanks to kadenbarlow) |
doom-zenburn |
port of the popular Zenburn theme (thanks to jsoa) |
Name | Description |
---|---|
doom-mono-dark / doom-mono-light |
a minimalistic, monochromatic theme |
doom-tron |
based on Tron Legacy from daylerees' themes |
Check out the wiki for details on customizing our neotree/treemacs/etc extensions.
-
(doom-themes-visual-bell-config)
: flash the mode-line when the Emacs bell rings (i.e. an error occurs). May not be compatible with all mode line plugins. -
(doom-themes-neotree-config)
: a neotree theme that takes after Atom's file drawer; a more minimalistic icon theme plus variable pitch file/directory labels, as seen in the doom-one screenshot.(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. -
(doom-themes-org-config)
: corrects and improves some of org-mode's native fontification issues.- 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
The following plugins compliment our themes:
- To get dimmed sidebars and brighter source buffers (like in the screenshots), see solaire-mode.
- AnthonyDiGirolamo added doom-one (screenshot) and doom-molokai (screenshot) skins to airline-themes.
- The modeline in the screenshots is doom-modeline.
There are three ways to customize themes in this package:
-
Explore the available variables provided by our themes, starting with the ones provided for all packages:
doom-themes-enable-bold
(default:t
): ifnil
, disables bolding as much as possible (only affects faces that our theme supports; it won't catch them all).doom-themes-enable-italic
(default:t
): ifnil
, disables italicization as much as possible (only affects faces that our theme supports; it won't catch them all).doom-themes-padded-modeline
(default:nil
): ift
, pad the mode-line in 4px on each side. Can also be set to an integer to specify the exact padding. orM-x customize-group RET doom-themes
to explore them.
-
Use the
custom-set-faces
macro (Doom users should usecustom-set-faces!
instead) to customize any face. e.g.
;; Must be used *after* the theme is loaded
(custom-set-faces
`(mode-line ((t (:background ,(doom-color 'dark-violet)))))
`(font-lock-comment-face ((t (:foreground ,(doom-color 'base6))))))
- Copy your favorite theme into your
custom-theme-directory
(normally~/.emacs.d/
, or~/.doom.d/themes
for Doom users), and tweak it there.
PRs are welcome to maintain our themes, including additional theme and plugin support.