252

GitHub - hlissner/emacs-doom-themes: An opinionated pack of modern color-themes

 6 years ago
source link: https://github.com/hlissner/emacs-doom-themes
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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-ayu-dark Another Dark variant from Ayu themes(thanks to ashton)
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-lantern based on Gitleptune's lantern theme (thanks to paladhammika)
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.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK