/doom-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

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

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