⚠️ Beware: doomemacs.com is neither associated with nor endorsed by this project. doomemacs.org is this project's one and only domain. Read the announcement →

doomemacs.org

( :doom emacs )

Cacochan, the Doom Emacs mascot

Doom Emacs is an Emacs Lisp development tool and configuration framework for GNU Emacs, tailored for Emacs enthusiasts that want a faster, more reliable, and reproducible foundation for their next config or elisp project, or for beginners who want a softer introduction to our favorite operating system.

Quick start

git clone --depth 1 https://github.com/doomemacs/core ~/.config/emacs
~/.config/emacs/bin/doom install

This is the quickest way to get a Doom environment up and running. Visit our getting started guide for more in-depth instructions (it's quite outdated at the moment, but I'm working on it).

Updating Doom

~/.config/emacs/bin/doom upgrade

If this fails, see doom upgrade --help for steps to manually update Doom.

Prerequisites

Warning

Avoid unstable and pre-release builds of Emacs. These end in .50, .60, or .9X (e.g. 28.1.91). Doom should generally work on Emacs HEAD (the maintainer dogfoods it), but support lags behind the bleeding edge by at least a month or so.

Important

Many of Doom's modules have their own dependencies. Visit their README.org for instructions on how to acquire them (accessible within Doom Emacs via M-x doom/docs-modules too). Running $ doom doctor in the shell will summarize what dependencies you're missing (and diagnose any common issues with your environment).

Project resources

Frequently asked questions

Social media

Support the project

Doom and its community are labors of love and the incurable madness of its maintainer and volunteers. Doom wouldn't be where it is today without your help. Help us keep us going by contributing bug reports, code, and documentation, or sponsoring the author.