8.5 KiB
Module Appendix
- Table of Contents
- :app
- :checkers
- :completion
- :config
- :editor
- :emacs
- :input
- :lang
- :term
- :tools
- :ui
Functionality in Doom is divided into collections of code called modules (à la
Spacemacs' layers). A module is a bundle of packages, configuration and
commands, organized into a unit that can be enabled or disabled by adding or
removing them from your doom!
block (found in $DOOMDIR/init.el
).
Table of Contents TOC
:app
Application modules are complex and opinionated modules that transform Emacs
toward a specific purpose. They may have additional dependencies and should be
loaded last, before :config
modules.
:checkers
- syntax
+childframe
- Live error/warning highlights - spell
+everywhere
- Spell checking - grammar - TODO
:completion
Modules that provide new interfaces or frameworks for completion, including code completion.
:config
Modules that configure Emacs one way or another, or focus on making it easier for you to customize it yourself. It is best to load these last.
- literate - For users with literate configs. This will tangle+compile a
config.org in your
doom-private-dir
when it changes. - default
+bindings +smartparens
- The default module sets reasonable defaults for Emacs. It also provides a Spacemacs-inspired keybinding scheme and a smartparens config. Use it as a reference for your own modules.
:editor
Modules that affect and augment your ability to manipulate or insert text.
- evil
+everywhere
- transforms Emacs into Vim - file-templates - Auto-inserted templates in blank new files
- fold - universal code folding
- format
+onsave
- TODO - lispy - TODO
- multiple-cursors - TODO
- objed - TODO
- parinfer - TODO
- rotate-text - TODO
- snippets - Snippet expansion for lazy typists
- word-wrap - soft wrapping with language-aware indent
:emacs
- mu4e
+gmail
- TODO - notmuch - TODO
- wanderlust
+gmail
- TODO
:lang
Modules that bring support for a language or group of languages to Emacs.
- agda - TODO
- assembly - TODO
- cc
+lsp
- TODO - clojure
+lsp
- TODO - common-lisp - TODO
- coq - TODO
- crystal - TODO
- csharp - TODO
- data - TODO
- elixir
+lsp
- TODO - elm - TODO
- emacs-lisp - TODO
- erlang - TODO
- ess
+lsp
- TODO - faust - TODO
- fsharp - TODO
- fstar - F* support
- go
+lsp
- TODO - haskell
+dante +ghcide +lsp +intero
- TODO - hy - TODO
- idris - TODO
- java
+meghanada +lsp
- TODO - javascript
+lsp
- JavaScript, TypeScript, and CoffeeScript support - julia - TODO
- kotlin
+lsp+
- TODO - latex
+latexmk +cdlatex +fold
- TODO - lean - TODO
- ledger - TODO
- lua
+moonscript
- TODO - markdown
+grip
- TODO - nim - TODO
- nix - TODO
- ocaml
+lsp
- TODO - org
+brain +dragndrop +gnuplot +hugo +ipython +journal +jupyter +pandoc +pomodoro +present +roam
- TODO - perl - TODO
- php
+lsp
- TODO - plantuml - TODO
- purescript - TODO
- python
+lsp +pyenv +conda
- TODO - qt - TODO
- racket - TODO
- rest - TODO
- ruby
+lsp +rvm +rbenv +rails +chruby
- rust
+lsp
- TODO - scala
+lsp
- TODO - scheme - TODO
- sh
+fish +lsp
- TODO - sml - TODO
- solidity - TODO
- swift
+lsp
- TODO - terra - TODO
- web
+lsp
- HTML and CSS (SCSS/SASS/LESS/Stylus) support.
:term
Modules that offer terminal emulation.
- eshell - TODO
- shell - TODO
- term - TODO
- vterm - TODO
:tools
Small modules that give Emacs access to external tools & services.
- ansible - TODO
- debugger - A (nigh-)universal debugger in Emacs
- direnv - TODO
- docker
+lsp
- TODO - editorconfig - TODO
- ein - TODO
- eval
+overlay
- REPL & code evaluation support for a variety of languages - gist - TODO
- lookup
+dictionary +docsets
- Universal jump-to & documentation lookup backend - lsp
+peek
- TODO - macos - TODO
- magit - TODO
- make - TODO
- pass - TODO
- pdf - TODO
- prodigy - TODO
- rgb - TODO
- terraform
- tmux - TODO
- upload - TODO
:ui
Aesthetic modules that affect the Emacs interface or user experience.
- deft - TODO
- doom - TODO
- doom-dashboard - TODO
- doom-quit - TODO
- fill-column - TODO
- hl-todo - TODO
- hydra - TODO
- indent-guides - TODO
- modeline - TODO
- nav-flash - TODO
- neotree - TODO
- ophints - TODO
- popup
+all +defaults
- Makes temporary/disposable windows less intrusive - pretty-code
+fira +hasklig +iosevka +pragmata-pro
- TODO - tabs - TODO
- treemacs - TODO
- unicode - TODO
- vc-gutter - TODO
- vi-tilde-fringe - TODO
- window-select
+switch-window +numbers
- TODO - workspaces - Isolated workspaces
- zen - Distraction-free coding (or writing)