explaingit

doomemacs/doomemacs

📈 Trending22,078Emacs LispAudience · developerComplexity · 3/5ActiveLicenseSetup · easy

TLDR

A fast, pre-configured Emacs setup that gives you a modern editor with sensible defaults, optional Vim keybindings, and 150+ modules you can mix and match without weeks of setup.

Mindmap

mindmap
  root((Doom Emacs))
    What it does
      Pre-built config
      Fast loading
      150+ modules
    Key features
      Syntax highlighting
      Code completion
      Project search
      Vim keybindings
    Use cases
      Main editor setup
      Learn Emacs
      Language support
    Tech stack
      GNU Emacs
      Evil mode
      Ripgrep

Things people build with this

USE CASE 1

Set up Emacs as your main code editor in minutes instead of weeks of manual configuration.

USE CASE 2

Get Vim-style keyboard shortcuts inside Emacs without learning a completely different editor.

USE CASE 3

Enable language-specific tools (syntax highlighting, completion, linting) by toggling optional modules.

USE CASE 4

Create isolated workspaces to organize projects and keep your editor clutter-free.

Tech stack

Emacs LispGNU EmacsEvil modeRipgrep

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you keep the copyright notice and license text.

In plain English

Doom Emacs is a configuration framework built on top of GNU Emacs, the classic programmers' text editor. Emacs is extremely powerful but famously complex to set up, Doom Emacs solves that by providing a pre-built, curated starting point that is fast, well-organized, and easy to extend without drowning you in boilerplate. The key ideas behind Doom are speed (it loads faster than a hand-tuned Emacs config by lazily loading tools only when needed), staying close to vanilla Emacs (not hiding what is under the hood), and being opinionated but flexible (sensible defaults you can override). It ships as roughly 150 optional modules covering programming languages, tools, and editor features, you opt into the ones you want. Notably, Doom includes optional Vim-style keyboard controls (using something called "evil-mode"), so users who prefer Vim's key layout can get it without leaving Emacs. Out of the box you get: syntax highlighting and code completion for many languages, project-wide search powered by fast search tools, isolated workspaces (similar to tabs in other editors), a declarative package manager that lets you pin packages to specific versions, and popup management so temporary panels don't clutter your workspace. You would use Doom Emacs if you want Emacs as your main editor but do not want to spend weeks configuring it from scratch. It is also used as a foundation by people who want to learn Emacs internals gradually. It runs on GNU Emacs versions 27.1 through 30.2 and requires Git and the ripgrep search tool. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
How do I install Doom Emacs and enable the modules I need for Python and JavaScript development?
Prompt 2
Show me how to customize Doom Emacs keybindings and add my own packages to the config.
Prompt 3
What's the difference between Doom Emacs and vanilla Emacs, and why is it faster?
Prompt 4
How do I use Doom Emacs with evil-mode to get Vim keybindings while keeping Emacs features?
Prompt 5
Walk me through setting up Doom Emacs from scratch on a fresh machine.
Open on GitHub → Explain another repo

Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.