Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

My Emacs Configuration Screenshot of my Emacs. Some notable packages in screenshot include doom-modeline, centaur-tabs, doom-city-lights color theme, and Operator Mono font.


This is my Emacs configuration, a somewhat simple config compared to most. It’s geared towards OS X, although it should work on most *nix configs. I’ve never tried this on Windows, so YMMV.

This configuration aims to provide you with a bare-bones configuration with sane defaults, built upon package.el.

Although Emacs has support for many programming languages, this config is geared towards the following languages and workflows:

  • Emacs Lisp
  • Python
  • LSP support
  • JavaScript


To install, it’s recommended to clone this repo wherever you prefer and symlink the directory to ~/.emacs.d.

$ git clone

There is a Makefile provided that will create the symlink for you at ~/.emacs.d:

$ make setup

My current Emacs distro of choice is:

$ brew tap daviderestivo/emacs-head
$ brew install emacs-head@28 --with-cocoa --with-imagemagick --with-retro-icon-gnu-head

Please note, this requires Homebrew to be installed.


There are a few requirements needed for this config to properly run. All of these pre-requisites can be installed via homebrew and npm.

$ brew install gpg
$ brew install ag
$ brew install ripgrep
$ brew install node
$ npm install -g eslint
$ npm install -g bash-language-server

For using python-mode and elpy, you’ll need to have pip installed and install the following packages:

$ pip install flake8

Package Updates

To update the third-party packages, type M-x list-packages, then U followed by x.

I recently started to use @Malabarba’s excellent paradox, which can be invoked similarly as such - M-x paradox-list-packages, then U followed by x.


There are a few requirements needed to receive and send email with this config.

$ brew install isync
$ brew install msmtp
$ brew install notmuch


The whole #!




No releases published


No packages published
You can’t perform that action at this time.