/themes

A megapack of themes for GNU Emacs.

Primary LanguageEmacs LispMIT LicenseMIT

Release tag MELPA Build status Discord Server Discourse server

Doom Emacs' Theme Pack

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.

See the screenshots.

Table of Contents

Install

Doom Emacs

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)

Manually + use-package

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))

Theme list

Flagship themes

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

Additional themes

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-material-dark adapted from Material Dark Theme (thanks to trev-dev)
doom-meltbus a dark, mostly monochromatic theme (thanks to spacefrogg)
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-tokyo-night based on Tokyo Night (thanks to FosterHangdaan)
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)

Planned themes

Name Description
doom-mono-dark / doom-mono-light a minimalistic, monochromatic theme
doom-tron based on Tron Legacy from daylerees' themes

Extensions

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.

Complementary plugins

The following plugins complement our themes:

Customization

There are three ways to customize themes in this package:

  1. Explore the available variables provided by our themes, starting with the ones provided for all packages:

    • doom-themes-enable-bold (default: t): if nil, 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): if nil, 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): if t, pad the mode-line in 4px on each side. Can also be set to an integer to specify the exact padding. or M-x customize-group RET doom-themes to explore them.
  2. Use the custom-set-faces macro (Doom users should use custom-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))))))
  1. Copy your favorite theme into your custom-theme-directory (normally ~/.emacs.d/, or ~/.doom.d/themes for Doom users), and tweak it there.

Contribute

PRs are welcome to maintain our themes, including additional theme and plugin support.