doomemacs / core
git clone https://github.com/doomemacs/core.git
🔥 on GitHub Trending today
An Emacs framework for the stubborn martian hacker
+2
stars, 24h · #491
+30
stars, 7 days · #1,316
+106
stars, 30 days · #2,153
23k
★ total · +0% this week
3.1k
forks · 481 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageEmacs Lisp
LicenseMIT
Created2014-07-12 (12y ago)
Last push18d ago
Watchers229
OwnerOrganization
Seen on GitHub Trending
- 2026-10-20 — #4 daily in emacs-lisp · +2 ★
- 2026-10-20 — #2 monthly in emacs-lisp · +106 ★
- 2026-10-20 — #3 weekly in emacs-lisp · +30 ★
GitHub topics
Links
- GitHub: github.com/doomemacs/core
- Homepage: https://doomemacs.org
- Releases · Issues · Hacker News mentions
README excerpt
> [!CAUTION] > **`doomemacs.com` is not associated with nor endorsed by this project!** > `doomemacs.org` is our one and only domain. Read our announcement about it > here. ----- # Doom Emacs Install • [Documentation] • [FAQ] • [Screenshots] • Contribute [ ][discord] [ ][discuss] --- ### Table of Contents - Introduction - Features - Prerequisites - Install - Roadmap - Getting help - Contribute # Introduction > It is a story as old as time. A stubborn, shell-dwelling, and melodramatic > vimmer—envious of the features of modern text editors—spirals into > despair before he succumbs to the [dark side][evil-mode]. This is his config. Doom is a configuration framework for [GNU Emacs] tailored for Emacs bankruptcy veterans who want less framework in their frameworks, a modicum of stability (and reproducibility) from their package manager, and the performance of a hand rolled config (or better). It can be a foundation for your own config or a resource for Emacs enthusiasts to learn more about our favorite operating system. Its design is guided by these mantras: + **Gotta go fast.** Startup and run-time performance are priorities. Doom goes beyond by modifying packages to be snappier and load lazier. + **Close to metal.** There's less between you and vanilla Emacs by design. That's less to grok and less to work around when you tinker. Internals ought to be written as if reading them were part of Doom's UX, and it is! + **Opinionated, but not stubborn.** Doom is about reasonable defaults and curated opinions, but use as little or as much of it as you like. + **Your system, your rules.** You know better. At least, Doom hopes so! It won't *automatically* install system dependencies (and will force plugins not to either). Rely on `doom doctor` to tell you what's missing. + **Nix/Guix is a great idea!** The Emacs ecosystem is temperamental. Things break and they break often. Disaster recovery should be a priority! Doom's package management should be declarative and your private config reproducible, and comes with a means to roll back releases and updates (still a WIP). Check out [the FAQ][FAQ] for answers to common questions about the project. # Features - Minimalistic good looks inspired by modern editors. - Curated and sane defaults for many packages, (major) OSes, and Emacs itself. - A modular organizational structure for separating concerns in your config. - A standard library designed to simplify your elisp bike shedding. - A declarative [package management system][package-management] (powered by [straight.el]) with a command line interface. Install packages from anywhere, not just (M)ELPA, and pin them to any commit. - Optional vim emulation powered by [evil-mode], including ports of popular vim plugins like [vim-sneak], [vim-easymotion], [vim-unimpaired] and [more][ported-vim-plugins]! - Opt-in LSP integration for many languages, using [lsp-mode] or [eglot] - Support for *many* programming languages. Includes syntax highlighting, linters/