Why?

Figure 1: Default Emacs UI

Figure 1: Default Emacs UI

For those who prefer a universal theme in their destop, the default Emacs interface is kind of ugly. Though there are built-in themes included, to be fair the options are limited.

Figure 2: emacs wombat theme, one of the better ones

Figure 2: emacs wombat theme, one of the better ones

Doom

When I first tried Emacs, Doomemacs was my first choice. It’s kind of a “curated default configurations”.

Figure 3: doom emacs, image from their github page

Figure 3: doom emacs, image from their github page

But since I’ve started to write my own configuration files for Emacs, I still use their mode-line and themes.

Installing

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
(use-package all-the-icons
  :ensure
  :if (display-graphic-p))

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

(use-package doom-modeline
  :ensure
  :hook (after-init . doom-modeline-mode))

Notes:

  • all-the-icons is one of the dependency. Run M-x all-the-icons-install-fonts command to install the font.
  • I use the doom-nord theme to match my desktop theme.

Dashboard

Just to make it more “doomy”.

1
2
3
4
5
6
;; use-package with package.el:
(use-package dashboard
  :ensure t
  :config
  (dashboard-setup-startup-hook)
  (setq initial-buffer-choice (lambda () (get-buffer-create "*dashboard*"))))
Figure 4: emacs with doom themes, mode-line, and dashboard

Figure 4: emacs with doom themes, mode-line, and dashboard