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.
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))
This megapack's first and flagship theme is doom-one
(inspired by Atom One
Dark), but also includes 67 themes submitted to us by the Emacs community. We
welcome PRs to help us maintain and address inconsistencies in them.
Name | Source | Description |
---|---|---|
doom-1337 | link | ported from VSCode's 1337 theme (ported by @ccmywish) |
doom-acario-dark | original | an original dark theme (ported by @gagbo) |
doom-acario-light | original | an original light theme (ported by @gagbo) |
doom-ayu-dark | link | inspired by Ayu Dark (ported by @ashton) |
doom-ayu-light | link | inspirted by Ayu Light (ported by @LoveSponge) |
doom-ayu-mirage | link | inspired by Ayu Mirage (ported by @LoveSponge) |
doom-badger | link | inspired by cann's Badger colorscheme (ported by @jsoa) |
doom-bluloco-dark | link | ported from VSCode's Bluloco Dark (ported by @RazikSF) |
doom-bluloco-light | link | ported from VSCode's Bluloco Light (ported by @RazikSF) |
doom-challenger-deep | link | inspired by Vim's Challenger Deep theme (ported by @fuxialexander) |
doom-city-lights | link | inspired by Atom's City Lights theme (ported by @fuxialexander) |
doom-dark+ | n/a | ported from equinusocio's VSCode Theme, dark+ (ported by @ema2159) |
doom-dracula | link | inspired by the popular Dracula theme (ported by @fuxialexander) |
doom-earl-grey | original | a gentle color scheme, for code (ported by @JuneKelly) |
doom-ephemeral | link | inspired by the Ephemeral Theme from elenapan's dotfiles (ported by @karetsu) |
doom-fairy-floss | link | a candy colored theme by sailorhg (ported by @ema2159) |
doom-feather-dark | original | a candy colored theme by sailorhg (ported by @Plunne) |
doom-feather-light | original | a candy colored theme by sailorhg (ported by @Plunne) |
doom-flatwhite | link | inspired by Atom's Flatwhite Syntax theme (ported by @JuneKelly) |
doom-gruvbox | link | inspired by morhetz's Gruvbox (ported by @JongW) |
doom-gruvbox-light | link | inspired by morhetz's Gruvbox (light) (ported by @jsoa) |
doom-henna | link | based on VSCode's Henna theme (ported by @jsoa) |
doom-homage-black | original | a minimalistic, colorless theme inspired by eziam, tao, and jbeans (ported by @mskorzhinskiy) |
doom-homage-white | original | minimal white theme inspired by editors from 2000s (ported by @mskorzhinskiy) |
doom-horizon | link | ported from VSCode Horizon (ported by @karetsu) |
doom-Iosvkem | link | ported from the default dark theme for Adobe Brackets (ported by @neutaaaaan) |
doom-ir-black | link | ported from Vim's ir_black colorscheme (ported by @legendre6891) |
doom-kanagawa | link | based on rebelot's neovim colorscheme (ported py @Anskrevy) |
doom-lantern | link | based on Gitleptune's Lantern theme (ported by @paladhammika) |
doom-laserwave | link | a clean synthwave/outrun theme inspired by VSCode's Laserwave (ported by @hyakt) |
doom-manegarm | original | an original autumn-inspired dark theme (ported by @kenranunderscore) |
doom-material | link | adapted from equinusocio's Material themes (ported by @tam5) |
doom-material-dark | link | inspired by Material Theme by xrei (ported by @trev-dev) |
doom-meltbus | link | a dark (mostly) monochromatic theme (ported by @spacefrogg) |
doom-miramare | link | a port of Franbach's Miramare theme; a variant of Grubox (ported by @sagittaros) |
doom-molokai | link | inspired by Tomas Restrepo's Molokai (ported by @hlissner) |
doom-monokai-classic | link | port of Monokai Classic (ported by @ema2159) |
doom-monokai-machine | link | port of Monokai Classic (ported by @minikN) |
doom-monokai-octagon | link | port of Monokai Octagon (ported by @minikN) |
doom-monokai-pro | link | Port of Monokai Pro (ported by @minikN) |
doom-monokai-ristretto | link | Port of Monokai Ristretto (ported by @minikN) |
doom-monokai-spectrum | link | port of Monokai Spectrum (ported by @minikN) |
doom-moonlight | link | inspired by VS code's Moonlight (ported by @Brettm12345) |
doom-nord | link | dark variant of Nord (ported by @fuxialexander) |
doom-nord-aurora | link | a light variant of Nord (ported by @MoskitoHero) |
doom-nord-light | link | light variant of Nord (ported by @fuxialexander) |
doom-nova | link | inspired by Trevord Miller's Nova (ported by @bigardone) |
doom-oceanic-next | link | inspired by Oceanic Next (ported by @juanwolf) |
doom-oksolar-dark | link | an OKLab variant of Solarized dark (ported by logc) |
doom-oksolar-light | link | an OKLab variant of Solarized light (ported by logc) |
doom-old-hope | link | inspired by An Old Hope, in a galaxy far far away (ported by @teesloane) |
doom-one | link | inspired by Atom One Dark (ported by @hlissner) |
doom-one-light | link | inspired by Atom One Light (ported by @ztlevi) |
doom-opera | original | an original light theme (ported by @jwintz) |
doom-opera-light | original | an original light theme (ported by @jwintz) |
doom-outrun-electric | link | a high contrast, neon theme inspired by Outrun Electric on VSCode (ported by @ema2159) |
doom-palenight | link | adapted from equinusocio's Material themes (ported by @Brettm12345) |
doom-peacock | link | inspired by daylerees' Peacock (ported by @teesloane) |
doom-pine | link | a green-tinged Gruvbox (by @RomanHargrave) |
doom-plain | link | inspired by gko's plain theme for VSCode (ported by @das-s) |
doom-plain-dark | link | inspired by gko's plain theme for VSCode (ported by @das-s) |
doom-rouge | link | ported from VSCode's Rouge Theme (ported by @das-s) |
doom-shades-of-purple | link | a port of VSCode's Shades of Purple (ported by @jwbaldwin) |
doom-snazzy | link | inspired by Hyper Snazzy (ported by @ar1a) |
doom-solarized-dark | link | a dark variant of Solarized (ported by @ema2159) |
doom-solarized-dark-high-contrast | link | a high-contrast variant of Solarized Dark (ported by @jmorag) |
doom-solarized-light | link | a light variant of Solarized (ported by @fuxialexander) |
doom-sourcerer | link | a port of xero's Sourcerer (ported by @fm0xb) |
doom-spacegrey | link | I'm sure you've heard of it (ported by @teesloane) |
doom-tokyo-night | link | inspired by VSCode's Tokyo Night theme (ported by @FosterHangdaan) |
doom-tomorrow-day | link | a light variant of Tomorrow (ported by @emacswatcher) |
doom-tomorrow-night | link | One of the dark variants of Tomorrow (ported by @hlissner) |
doom-vibrant | doom-one | a more vibrant variant of doom-one (ported by @hlissner) |
doom-wilmersdorf | link | port of Ian Pan's Wilmersdorf (ported by @ema2159) |
doom-xcode | Xcode.app | based off of Apple's Xcode Dark Theme (ported by @kadenbarlow) |
doom-zenburn | link | port of the popular Zenburn theme (ported by @jsoa) |
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 complement 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.