
Doom Emacs
A configuration framework that turns GNU Emacs into a fast, curated editor setup.doomemacs/core
- Stars
- 22.8k
- Forks
- 3.1k
- Licence
- MIT
- Language
- Emacs Lisp
- Last update
- 1 months ago
- Type
- Dev tool
What it is
Doom Emacs is a configuration framework for GNU Emacs, the long-running text editor. It supplies a set of reasonable defaults, optional modules for many programming languages and tools, and a command line script (bin/doom) for installing and updating packages. It can be used as a base for your own configuration or as a way to learn how Emacs is set up.
- Set up a development environment for a programming language using optional modules
- Use vim-style editing with evil-mode and vim plugin ports
- Manage Emacs packages declaratively and pin them to specific commits
- Run project-wide search and replace with ripgrep
- Keep workspaces separate for different projects
Great for
- Emacs users who want a curated starting point without building everything from scratch
- Vim users who want optional vim emulation through evil-mode
- People who care about startup speed and want a faster-loading config
- Developers working across many languages who want modular, opt-in support
Not ideal for
- People who want Emacs to work with no configuration or learning curve, since it assumes familiarity with Emacs concepts
- Users who prefer a minimal config they fully control, because the framework adds its own layer of conventions
- Users on unstable or pre-release Emacs builds, which the README says are not well supported
How to get it
- 1
Clone and build from source
You'll need: GNU Emacs 27.1–31.1 (31.1 recommended) · Git >= 2.23 · ripgrep >= 11.0
Clone the repository
git clone --depth 1 https://github.com/doomemacs/core ~/.config/emacsInstall Doom
~/.config/emacs/bin/doom install - 2
Run it
- Install the prerequisites: Emacs, Git, and ripgrep
- Clone the repository to ~/.config/emacs
- Run ~/.config/emacs/bin/doom install
- Follow the Getting Started guide in the documentation to configure Doom
- Run doom doctor to check for missing dependencies
- 3
Get the most out of it
- Add ~/.config/emacs/bin to your PATH so the doom command is available everywhere
- Run doom sync after editing your private init.el or packages.el
- Run doom sync --env to load a snapshot of your shell environment at startup
- Install optional tools such as fd to improve file indexing performance
- Use doom upgrade to update Doom and installed packages
Downloads
Strengths
- The README describes a focus on startup and run-time performance, with packages modified to load lazily
- Modular design lets you enable only the parts you need
- Includes a diagnostic command (doom doctor) to find missing system dependencies
Trade-offs
- Requires GNU Emacs 27.1 to 31.1, and some features need newer versions such as 29.1 for use as a starter kit
- The README notes about 150 optional modules, some with their own dependencies, so setup can take effort
- The README says rollback for releases and updates is still a work in progress
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| core (this) | 22.8k | Dev tool | intermediate | 1 months ago | Emacs users who want a curated starting point without building everything from scratch |
| fzf | 83.9k | Dev tool | beginner | 8 days ago | Command-line users who often search file names or command history |
| vim-plug | 35.8k | Dev tool | beginner | 22 days ago | Vim or Neovim users who want to manage plugins without a heavy setup |
| vim-airline | 18k | App | beginner | 22 days ago | Vim users who want a clearer status bar without heavy configuration |
| Vim | 15.2k | App | beginner | 6 days ago | Developers who already know Vim and want its keybindings in VS Code |
| ideavim | 10.3k | App | beginner | 4 days ago | Developers who already know Vim and want its keys inside a JetBrains IDE |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.