Skip to content

Instantly share code, notes, and snippets.

View hlissner's full-sized avatar
💭
Prepping Doom v3

Henrik Lissner hlissner

💭
Prepping Doom v3
View GitHub Profile
@hlissner
hlissner / how-to-customize-the-dashboard.md
Last active August 31, 2026 14:41
Doom Emacs: how to customize the dashboard

< back to index

Important

This is a temporary copy of the "How to change your splash screen" thread from Doom's former Discourse site. It will remain up until the new community wiki (at wiki.doomemacs.org) has been published.

How to customize the dashboard

Doom's splash screen is the first thing you see if you have the :ui dashboard module enabled. Do you want to change the banner? Add to the menu? Perhaps make your own radical customizations? This guide outlines how to do so.

@hlissner
hlissner / index.md
Last active September 5, 2026 04:16
Doom Emacs: Discourse Archive Index

Doom Emacs Discourse Archive

The Doom community switched from Discourse (formerly discourse.doomemacs.org) to Github Discussions in 2025. The Discourse was kept in read-only mode until it was shut down on August 30, 2026. However, there were many helpful posts on the Discourse that I didn't want to simply delete, so I've saved, updated, and reformatted some of them into Gists until docs.doomemacs.org and wiki.doomemacs.org are finished.

Important

Remember that Doom's official documentation can be accessed from within Doom using M-x doom/help.

For docs.doomemacs.org

@hlissner
hlissner / troubleshoot.md
Last active August 31, 2026 06:59
Doom Emacs: troubleshooting guide

< back to index

Important

This gist is temporary until the new documentation (docs.doomemacs.org) and community wiki (wiki.doomemacs.org) have been published.

Troubleshooting/Debugging Guide

When issues arise (and this is Emacs, they will), it pays to know how to use the diagnostic tools that are available to you.

@hlissner
hlissner / how-to-use-git-bisect.md
Last active August 31, 2026 01:45
Doom Emacs: how to use git-bisect

< back to index

Important

This gist is temporary until the new documentation (docs.doomemacs.org) and community wiki (wiki.doomemacs.org) have been published.

How to use git bisect

When Doom Emacs (or your sleepness nights tinkering at your config) cause Emacs to misbehave, you may not know where to start looking. This is where git bisect comes in; this powerful tool will walk you through your git history and help you isolate the commit where the problem was introduced. This guide will walk you through understanding and using git bisect.

@hlissner
hlissner / git-conventions.md
Last active September 2, 2026 04:42
Doom Emacs: git conventions

< back to index

Important

This gist is temporary until the new documentation (docs.doomemacs.org) and community wiki (wiki.doomemacs.org) have been published.

Git Conventions

Doom has adopted conventional commits (with a few minor tweaks). I summarize it here, temporarily, until our new documentation is up.

@hlissner
hlissner / emacs-info.el
Last active June 9, 2026 19:37
Generate an info dump about your Emacs environment. Usage instructions are in comments.
(defun emacs-info ()
(interactive)
(pop-to-buffer
(with-current-buffer (get-buffer-create "*emacs info*")
(erase-buffer)
(let ((standard-output (current-buffer)))
(mapc (lambda (line)
(princ (format "%s %s" (car line) (cdr line)))
(terpri (current-buffer)))
`((generated . ,(format-time-string "%b %d, %Y %H:%M:%S"))
@hlissner
hlissner / capture.el
Last active March 30, 2025 14:49
Examples of Doom CLI scripts
#!/usr/bin/env doomscript
;; An example script showing off how use Doom's CLI framework to write your own.
(defcli! (capture)
((key ("-k" "--key" key))
&input input &args args)
"Open an org-capture window."
(exit! "emacsclient" "-a" "" "-e"
(format "(+org-capture/open-frame %S %S)"
(concat input (string-join args " "))
@hlissner
hlissner / synology-ddns.linode.php
Last active July 29, 2022 14:44
A DDNS service provider script for Synology NAS (based off https://github.com/cpascal/syno-ddns-linode/blob/master/linode.php)
#!/usr/bin/php -d open_basedir=/usr/syno/bin/ddns
<?php
if ($argc !== 5) {
echo 'badparam';
exit();
}
// Entered into DSM (Control Panel > External Access > DDNS)
$username = (string) $argv[1]; // Resource ID
(defvar +org-babel-mode-alist
'((cpp . C)
(C++ . C)
(D . C)
(sh . shell)
(bash . shell)
(matlab . octave)
(amm . ammonite))
"An alist mapping languages to babel libraries. This is necessary for babel
libraries (ob-*.el) that don't match the name of the language.
@hlissner
hlissner / custom-set-faces.el
Last active May 30, 2020 13:18
Convenience macro for additively setting face attributes in Doom Emacs
(defmacro custom-theme-set-faces! (theme &rest specs)
"Apply a list of face specs as user customizations for THEME.
THEME can be a single symbol or list thereof. If nil, apply these settings to
all themes. It will apply to all themes once they are loaded.
(custom-theme-set-faces! '(doom-one doom-one-light)
`(mode-line :foreground ,(doom-color 'blue))
`(mode-line-buffer-id :foreground ,(doom-color 'fg) :background \"#000000\")
'(mode-line-success-highlight :background \"#00FF00\")