Skip to content
A lightweight Emacs config containing only the essentials: shipped with a custom theme!
Branch: master
Clone or download
Ian Y.E. Pan Ian Y.E. Pan
Ian Y.E. Pan and Ian Y.E. Pan add link to my use-package config version
Latest commit 8843523 Jun 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
themes add in company drop down menu colours Jun 17, 2019
.gitignore update reverse-video theme in .gitignore Jun 6, 2019 add link to my use-package config version Jun 18, 2019
config.el change font size to 13 Jun 18, 2019 change font size to 13 Jun 18, 2019
init.el remove auto-indent-mode Jun 18, 2019

Ian's Emacs Configuration

Thanks for dropping by!

This is my personal Emacs configuration (on GNU Emacs 26.2). It's unopinionated and was created for general use in mind. I've documented, as detailed as possible, what each code snippet does in my file.

This Emacs config starts up super fast with an average init time of 0.7 to 1.1 seconds.


Back up your ~/.emacs.d/ first (if you have one):

mv ~/.emacs.d/ ~/.emacs.d.bak/

Git clone my configuration to your new ~/.emacs.d/ :

git clone ~/.emacs.d/

"Rolling" Release

I will constantly push new commits since a real Emacser is never completely satisfied with his/her setup.

How the config structure works

The init.el requires config.el, which is produced by org-babel and This allows me to put most of my configuration in an Org file with literate programming style (good for documenting code usage!).

If you prefer the use-package approach, I have the same set up here:

Packages that I use:

Vim Editing habits (Optional depending on your preferences)

  • evil

Git integration

  • magit

Better Emacs defaults

  • company (autocompletion)
  • ido-vertical-mode
  • smooth-scrolling
  • yasnippets
  • dashboard (welcome screen)

Org mode

  • org (use most recent version instead of the built-in one)
  • org-bullets

File management

  • ranger

Web development

  • rainbow-mode

Friendly warnings

  • flycheck

Lightweight syntax highlight improvement for all languages

  • highlight-operators
  • highlight-numbers
  • highlight-escape-sequences

Appendix I: Themes I adore

Wilmersdorf Theme

The default installation of my Emacs configuration is shipped with the Wilmersdorf theme I made myself. It is inspired by Monochrome, Spacemacs Dark, Ariake Dark, and Raiju. You can find more information on the theme here:

Appendix II: Fonts I adore

  • Monaco (curvy, easy to read)
  • Input Mono (most compliment; customizable, modern-looking and geeky)
  • Source Code Pro (playful and modern-looking)
  • Hack / Menlo / DejaVu Sans Mono family (default on lots of systems)
  • Andale Mono (tall, narrow, elegant characters)


1. Why does my font look wrong?

  • You might not have the required fonts installed, feel free to install them or change the font settings to your own liking in custom.el

2. How can I install my own packages that I want?

You should be able to install packages the normal way (M-x list-packages RET and i x on the desired package row). If you plan to sync your config files across machines and wish to be prompted for installation if the required packages are missing, you can add the package's name to init.el file's package-select-packages variable.

3. How can I remove packages that I don't need?

For this you need two steps:

  • First, type M-x list-packages RET in Emacs bindings (or :list-packages RET in Evil Normal state) and delete the unwanted package by placing your cursor on the row and press d followed by an x.
  • Next, in the init.el file, you'll want to remove the package's name from the package-select-packages list to disable the installing prompt when you start Emacs next time.
You can’t perform that action at this time.