Cette page est affichée en anglais. Une traduction française est en cours.
ScriptsMay 14, 2026·3 min de lecture

Doom Emacs — An Emacs Framework for the Stubborn Martian Hacker

A fast and opinionated Emacs framework that provides modular configuration through a declarative package system and aggressive lazy loading for near-instant startup.

Prêt pour agents

Cet actif peut être lu et installé directement par les agents

TokRepo expose une commande CLI universelle, un contrat d'installation, le metadata JSON, un plan selon l'adaptateur et le contenu raw pour aider les agents à juger l'adaptation, le risque et les prochaines actions.

Native · 98/100Policy : autoriser
Surface agent
Tout agent MCP/CLI
Type
Skill
Installation
Single
Confiance
Confiance : Established
Point d'entrée
Doom Emacs Overview
Commande CLI universelle
npx tokrepo install d80ea0b6-4fb0-11f1-9bc6-00163e2b0d79

Introduction

Doom Emacs is an Emacs configuration framework designed for speed and modularity. It uses its own CLI tool (doom) and a declarative package management system that compiles and byte-compiles configurations for fast startup, typically under one second even with hundreds of packages loaded.

What Doom Emacs Does

  • Provides a module system where each module bundles packages, config, and keybindings
  • Uses aggressive lazy loading and byte-compilation for sub-second startup
  • Ships a dedicated CLI (doom sync, doom upgrade, doom doctor) for managing the config
  • Integrates Evil mode for Vim-style editing with SPC and comma leader keys
  • Supports literate configuration via Org-mode files

Architecture Overview

Doom Emacs is organized into modules grouped by category: lang, tools, ui, completion, and more. The init.el file declares which modules are active, packages.el adds extra packages, and config.el holds user settings. The doom CLI compiles this into an autoloads file and byte-compiled output, avoiding the overhead of runtime package resolution that slows other Emacs setups.

Self-Hosting & Configuration

  • Clone the repo and run doom install to bootstrap packages and compile
  • Edit ~/.config/doom/init.el to enable or disable modules
  • Add custom packages in ~/.config/doom/packages.el using the package! macro
  • Run doom sync after any configuration change to recompile
  • Requires Emacs 29+, Git, and ripgrep for full functionality

Key Features

  • Sub-second startup through ahead-of-time compilation and autoloads
  • doom doctor command diagnoses common configuration issues
  • Declarative package! macro with recipe support for custom sources
  • Module flags (e.g., +lsp, +tree-sitter) toggle features within a module
  • Active community with frequent updates and a Discord server

Comparison with Similar Tools

  • Spacemacs — broader layer ecosystem; Doom is faster due to compile-time optimizations
  • Vanilla Emacs — full control but slow to configure; Doom provides instant productivity
  • Prelude — minimal starter; Doom is a comprehensive framework with its own tooling
  • Centaur Emacs — single-author config; Doom has a larger module library and contributor base
  • LazyVim — Neovim-based; Doom leverages Emacs Lisp ecosystem and Org-mode

FAQ

Q: How fast is Doom Emacs startup? A: Typically under one second with a full configuration, thanks to byte-compilation and deferred loading.

Q: Can I use Doom without Vim keybindings? A: Yes. Disable the evil module in init.el to use standard Emacs keybindings.

Q: How do I update Doom Emacs? A: Run doom upgrade from the terminal to pull framework updates and sync packages.

Q: What does doom sync do? A: It installs missing packages, removes orphaned ones, rebuilds autoloads, and byte-compiles your configuration.

Sources

Fil de discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires