Skip to content

An opinionated pack of modern color-themes

License

Notifications You must be signed in to change notification settings

close-paren/emacs-doom-themes

 
 

Repository files navigation

Release tag MELPA Build Status MIT

doom-themes

DOOM Themes is an opinionated UI plugin and pack of themes extracted from my emacs.d, inspired by some of my favorite color themes.

See the screenshots.

Table of Contents

Features

  • Color themes:
  • Included features:
    • (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-tags to disable this.
  • Resources that may interest you:

Install

M-x package-install RET doom-themes

A comprehensive configuration example:

(require 'doom-themes)

;; 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 the theme (doom-one, doom-molokai, etc); keep in mind that each theme
;; may have their own settings.
(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.

Common Issues

  • If you use nlinum or linum in 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))

Contribute

I welcome contributions of any kind, be they pull requests, bug reports or elisp pointers. Additional theme and plugin support requests are welcome too.

About

An opinionated pack of modern color-themes

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Emacs Lisp 100.0%