IMPORTANT: This is a breaking update for Mac users, as your shell environment will no longer be inherited correctly (with the removal of exec-path-from-shell). The quick fix is: 'bin/doom env refresh'. Also, the set-env! autodef now does nothing (and is deprecated), be sure to remove calls to it in your config. Smaller changes: + This update also adds --no-* switches to doom quickstart + Includes general improvements to the documentation of several bin/doom commands. + Moves doom/reload* commands to core/autoload/config.el + doom/reload-project has been removed (it didn't actually do anything) The breaking change: This update adds an "envvar file" to Doom Emacs. This file is generated by `doom env refresh`, populated with variables scraped from your shell environment (from both non-interactive and interactive sessions). This file is then (inexpensively) loaded at startup, if it exists. + The file is manually generated with `doom env refresh`. + It can be regenerated automatically whenever `doom refresh` is run by running `doom env enable` (`doom env clear` will reverse this and delete the env file). + `doom quickstart` will ask if you want to auto-generate this envvar file. You won't need it if you're confident Emacs will always be started from the correct environment, however. + Your env file can be reloaded from a running Emacs session with `M-x doom/reload-env`. Note: this won't work if the Emacs session you're running it in doesn't have a correct SHELL set. i.e. don't use this to create your first env file! The idea isn't mine -- it's borrowed from Spacemacs -- and was introduced to me in #1053 by @yurimx. I was impressed with it. Prior to this, I was unhappy with exec-path-from-shell (no hate to the dev, I understand its necessity), and 'doom patch-macos' wasn't ideal for mac users (needed to be reapplied every time you update Emacs). What's more, many users (even Linux users) had to install exec-path-from-shell anyway. This solution suffers from none of their shortcomings. More reliable than patch-macos, more performant and complete than exec-path-from-shell, and easily handled by bin/doom. |
||
---|---|---|
.. | ||
app | ||
collab | ||
completion | ||
config | ||
editor | ||
emacs | ||
feature | ||
lang | ||
tools | ||
ui | ||
README.org |
Doom Modules
:feature
Broad modules that bring essential IDE functionality to Emacs.
- debugger: A (nigh-)universal debugger in Emacs
- eval: REPL & code evaluation support for a variety of languages
- evil
+everywhere
: Vim in Emacs - file-templates: Auto-inserted templates in blank new files
- lookup
+docsets
: Universal jump-to & documentation lookup backend - snippets: A templating system for Emacs for lazy typers (aka programmers)
- workspaces: Isolated workspaces
:completion
Swappable completion modules for quickly narrowing down lists of candidates.
:ui
Aesthetic modules that affect the Emacs interface or user experience.
- deft:
- doom:
- doom-dashboard:
- doom-quit:
- evil-goggles:
- fci:
- hl-todo:
- modeline:
- nav-flash:
- neotree:
- treemacs:
- popup
+all +defaults
: Makes temporary/disposable windows less intrusive - pretty-code:
- tabbar:
- unicode:
- vc-gutter:
- vi-tilde-fringe:
- window-select:
:editor
:emacs
Modules that reconfigure packages or features built into Emacs
- dired
+ranger +icons
: - electric:
- eshell:
- imenu:
- term:
- vc:
:tools
Small modules that give Emacs access to external tools & services.
- ansible:
- docker:
- editorconfig:
- ein:
- flyspell: Spell checking
- flycheck: Live error/warning highlights
- gist:
- lsp:
- macos:
- make:
- magit:
- password-store:
- pdf:
- prodigy:
- rgb:
- terraform:
- tmux:
- upload:
- wakatime:
- vterm:
:lang
Modules that bring support for a language or group of languages to Emacs.
- assembly:
- cc
+lsp
: - clojure:
- common-lisp:
- coq:
- crystal:
- csharp:
- data:
- erlang:
- elixir:
- elm:
- emacs-lisp:
- ess:
- go
+lsp
: - haskell
+intero +dante
: - hy:
- idris:
- java
+meghanada
: - javascript
+lsp
: - julia:
- latex:
- ledger:
- lua:
- markdown:
- nim:
- nix:
- ocaml
+lsp
: - org
+attach +babel +capture +export +present +ipython
: - perl:
- php
+lsp
: - plantuml:
- purescript:
- python
+lsp
: - qt:
- racket:
- rest:
- ruby
+lsp
: - rust
+lsp
: - scala:
- sh
+fish +lsp
: - solidity:
- swift:
- web
+lsp
: - vala:
:app
:collab
Modules that enable collaborative programming over the internet.
- floobits:
- impatient-mode:
:config
Modules that configure Emacs one way or another, or focus on making it easier for you to customize it yourself.
- literate:
- default
+bindings +smartparens
: