HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
doomemacs
core
Emacs Lisp2018–2026
doomemacs / core

core

An Emacs framework for the stubborn martian hacker

116Distinct people
145Mentions
5Explicit recommenders
22.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

An Emacs framework for the stubborn martian hacker

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I was where you are about a month ago. I ended up using Doom[0] as a bootstrapped config and haven't looked back. I love org-mode. It's the killer feature of Emacs in my mind.…

dhagz used a recommendation phrase. 6 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year145 dated mentions

Observed mentions: 2018-02-24 01:17:45 UTC to 2026-03-11 11:56:22 UTC.

0102030402018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 9 mentions; 1 submissions, 8 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 18 mentions; 2 submissions, 16 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 37 mentions; 6 submissions, 31 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 22 mentions; 0 submissions, 22 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 28 mentions; 3 submissions, 25 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 15 mentions; 1 submissions, 14 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 9 mentions; 2 submissions, 7 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC918
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC18216
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC37631
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC22022
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC28325
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC15114
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC606
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC927
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Cautiondoomemacs.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 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. 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 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 (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! Opt-in LSP integration for many languages, using lsp-mode or eglot Support for many programming languages. Includes syntax highlighting, linters/checker integration, inline code evaluation, code completion (where possible), REPLs, documentation lookups, snippets, and more! Support for many tools, like docker, pass, ansible, terraform, and more. A Spacemacs-esque keybinding scheme, centered around leader and localleader prefix keys (SPC and SPCm for evil users, C-c and C-c l for vanilla users). A rule-based popup manager to control how temporary buffers are displayed (and disposed of). Per-file indentation style detection and editorconfig integration. Let someone else argue about tabs vs spaces. Project-management tools and framework-specific minor modes with their own snippets libraries. Project search (and replace) utilities, powered by ripgrep and ivy or helm. Isolated and persistent workspaces (also substitutes for vim tabs). Support for Chinese and Japanese input systems. Save a snapshot of your shell environment to a file for Emacs to load at startup. No more struggling to get Emacs to inherit your PATH, among other things. Prerequisites Required: GNU Emacs 27.1–31.1 (31.1 is recommended) Using only Doom's CLI requires 27.1+ Using Doom as a starter kit requires 29.1+ Git >= 2.23 ripgrep >= 11.0 Optional, but recommended: fd 7.3.0+ (used to improve file indexing performance) GNU variants of find, ls, and tar (on MacOS and BSD *nix) Symbola font (Emacs' fallback font for glyphs it can't display) WarningAvoid 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. ImportantDoom is comprised of ~150 optional modules, some of which may have additional dependencies. Visit their documentation or run bin/doom doctor to check for any that you may have missed. Install git clone --depth 1 https://github.com/doomemacs/core ~/.config/emacs ~/.config/emacs/bin/doom install Then read our Getting Started guide to be walked through installing, configuring and maintaining Doom Emacs. It's a good idea to add ~/.config/emacs/bin to your PATH! Other bin/doom commands you should know about: doom sync to synchronize your private config with Doom by installing missing packages, removing orphaned packages, and regenerating caches. Run this whenever you modify your private init.el or packages.el, or install/remove an Emacs package through your OS package manager (e.g. mu4e or agda). doom sync --env to include a snapshot of your shell environment that Doom will load at startup. This allows Emacs to inherit your PATH, among other things. This replaces exec-path-from-shell. doom upgrade to update Doom to the latest release & all installed packages. doom doctor to diagnose common issues with your system and config. Roadmap Doom is an active and ongoing project. To make that development more transparent, its roadmap (and other concerns) are published across three github project boards and a newsletter: Development Roadmap Packages under review: lists plugins we are watching and considering for inclusion, and what their status for inclusion is. Please consult this list before requesting new packages/features. Upstream bugs: lists issues
Read the full README on GitHub

What Hacker News says

145 sources
Firstly, the original comment was about UI rather than aesthetics. Secondly, as with everything else in Emacs, you can customise the appearance however you want. Those screenshots are from vanilla Emacs which is admittedly rather ugly. Most people heavily customise, or use an Emacs distro like Spacemacs (https://www.spacemacs.org/) or Doom (https://github.com/doomemacs/doomemacs?tab=readme-ov-file) which have more sensible default appearance configs.
In Julia Snail – An Emacs Development Environment for Julia Like Clojure's Cider
Doom Emacs is, I think, the answer here: 1. Install Emacs 2. git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.config/emacs 3. ~/.config/emacs/bin/doom install Now open Emacs and stuff just works. You can customize it later if you want. I agree with your general point. People mostly want stuff that just works. Very few want to become experts (and nobody can be an expert in everything.)
In The terminal of the future
I used Spacemacs for years and recommend it to others. It was fantastic in the early days, but the stability seems to have diminished. I encountered more bugs over time that I'd have to troubleshoot and fix myself. I switched to Doom Emacs a couple of years ago. It's well-maintained with regular updates, fantastic language support, and lightning fast. The CLI tooling is also nice (i.e., you can run 'doom upgrade' to update everything, or 'doom doctor' if you encounter an issue). It's the closest equivalent to VS Code in terms of working out of the box. Not to mention the advantages of Emacs with Vim keybindings. There is a learning curve, but the GitHub documentation is excellent. Adding support for Ruby on Rails development, for example, is as simple as uncommenting '(ruby +rails +lsp)' line in the '~/.config/init.el' file, and then runn
Read the rest
ing 'doom sync'. There's a long list of supported languages and tooling [0]. [0] https://github.com/doomemacs/doomemacs/blob/master/static/in...
In Microsoft subtracts C/C++ extension from VS Code forks
Fair enough, I have personally spent a decent chunk of time configuring my Emacs setup (though it has mostly stabilized at this point). You may be interested in checking out Doom Emacs[0] if you want to take a stab at it in the future. It sounds like it would be an out of the box experience closer to what you would want. [0] https://github.com/doomemacs/doomemacs
In Zed on Linux Is Here
I use Doom[1], which is put together by people who know a heck of a lot more about Emacs than I do. Almost all my configuration is just turning on the features I want. Maybe once every year or two I check that my configuration is using stuff that has be superseded. This is super easy to use, gives me a great Emacs experience, and takes almost no work to maintain. [1]: https://github.com/doomemacs/doomemacs
In Avoiding Emacs Bankruptcy

Showing the 15 most recent of 145 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.