about | blog | config | notes | github

1. An Extensible Emacs Dashboard

dashboard.el is a package that provides a much better startup screen for GNU/Emacs.

2. Configuration

2.1. Disable Default Startup Screen

(setq inhibit-startup-screen t)

2.2. Package Install

(use-package dashboard)

2.3. Appearance

Lot of options here for the startup banner, but I like the ascii art of the application name the most.

;; (setq dashboard-startup-banner "~/org/config/lib/emacs-themes/navi.png")
;; (setq dashboard-startup-banner "~/org/config/lib/emacs-themes/black-hole.png")
(setq dashboard-startup-banner "~/org/config/lib/emacs-themes/name.txt")
;; (setq dashboard-startup-banner nil)

Center content because that looks way nicer

(setq dashboard-center-content t)

Configure icons for everything that supports it. The default 'bookmarks icon is also not great so let's change that as well.

(setq dashboard-set-heading-icons t)
(setq dashboard-set-file-icons t)
(dashboard-modify-heading-icons '((bookmarks . "book")))

Show the navigator (wait, I dont't see it?!?)

(setq dashboard-set-navigator t)

Show the following initialization statistics:

(setq dashboard-set-init-info t)

2.4. Section Setup

Simply configure which sections I want to see

(setq dashboard-items '())

2.5. Initialize Hooks

One would expect that (dashboard-setup-startup-hook) which will configure everything as needed (unless we are using a daemon process)


In the event that we are using a daemon (and I am), set the inital-buffer-choice variable as well.

(setq initial-buffer-choice (lambda() (get-buffer "*dashboard*")))

2.6. Feature Provide

(provide 'init-dashboard)

Created: 2021-11-13

Emacs 26.1 (Org mode 9.5)