Navigate:
All Reposdoomemacs
~$DOOMEM0.1%

Doom Emacs: Configuration framework for GNU Emacs

Modular framework with lazy loading and vim keybindings.

LIVE RANKINGS • 06:51 AM • STEADY
OVERALL
#153
3
DEVELOPER TOOLS
#31
1
30 DAY RANKING TREND
ovr#153
·Devel#31
STARS
21.5K
FORKS
3.1K
DOWNLOADS
7D STARS
+16
7D FORKS
0
See Repo:
Share:

Learn more about doomemacs

Doom Emacs is a configuration framework built on top of GNU Emacs that provides an opinionated, performance-oriented foundation for text editing and development. It implements a modular architecture where functionality is organized into discrete modules that can be selectively enabled, with package dependencies automatically resolved through a declarative configuration system. The framework employs aggressive lazy-loading strategies and deferred initialization techniques to minimize startup time, loading most packages and their configurations only when explicitly needed rather than at launch. It integrates evil-mode as its default modal editing layer to provide Vim-style keybindings and motion commands, while maintaining compatibility with traditional Emacs workflows. The system uses a custom package management layer that wraps the native package.el and extends it with additional caching, compilation optimizations, and reproducible build capabilities.

doomemacs

1

Declarative package management

Uses straight.el to manage packages declaratively with support for pinning to specific commits and installing from non-ELPA sources. Configuration can be rolled back to previous releases and is designed to be reproducible across systems.

2

Modular organizational structure

Separates configuration concerns into modules that can be independently enabled or disabled. Includes a standard library of elisp utilities to reduce boilerplate in custom configurations.

3

Evil-mode integration

Provides optional vim emulation with ports of popular vim plugins including vim-sneak, vim-easymotion, and vim-unimpaired. Uses a Spacemacs-style leader key keybinding scheme adaptable to both vim and vanilla Emacs users.


;; ~/.doom.d/init.el
(doom! :input
       :completion
       (company +childframe)
       (vertico +icons)

       :lang
       (javascript +lsp)
       (python +lsp +pyright)
       json
       markdown

       :tools
       magit
       lookup)


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers