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-ayu-dark: Light variant from Ayu themes (thanks to LoveSponge) -
doom-ayu-light: Dark variant from Ayu themes(thanks to LoveSponge) -
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-flatwhite: a unique light theme ported from Flatwhite Syntax (thanks to ShaneKilkelly) -
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-materialadapted from Material Themes (thanks to tam5) -
doom-manegarm: an original autumn-inspired dark theme (thanks to kenranunderscore) -
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-moonlightported 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-old-hope: based on An Old Hope theme (thanks to teesloane) -
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-palenightadapted from Material Themes (thanks to Brettm12345) -
doom-plain: based on plain (thanks to mateossh) -
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
-
A list of themes which are usable, yet may need some minor adjustments.
-
doom-homage-white: a minimalistic, colorless theme, inspired by eziam, tao and jbeans themes. (thanks to mskorzhinskiy) -
doom-homage-black: dark variant of doom-homage white. (thanks to mskorzhinskiy) -
doom-plain-dark: based on plain (thanks to das-s)
-
(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-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.
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
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.