Install Doom Emacsλ︎
Install prerequisites: Emacs, Java 17, Clojure CLI and Command Line tools
- Clone Doom Emacs to
~/.config/emacs
- Clone practicalli/doom-emacs-config configuration to add common modules for Clojure development and related languages. Or edit
~/.config/doom/init.el
and define the Doom modules required. Follow the Doom configuration section for details. - [optional] Install Fira Code font (change
dotspacemacs-default-font
to a name of a font on your operating system in.spacemacs.d/init.el
in step 4) 4.
Clone Doom Emacsλ︎
Use your favourite git client or the following command in a terminal window to clone Spacemacs and then run the Doom Emacs install script
Add Doom command to pathλ︎
Doom provides tools to check the user configuration, doom doctor
, and to update modules, `Either add
.config/emacs/bin` to the system path
Create a symbolic link called doom from the local user bin directory to the Doom Emacs installation bin/doom file
Clone Practicalli Doom configurationλ︎
Remove the autogenerated configuration from the Doom install
Clone practicalli/doom-emacs-config or first create a fork and clone that fork
Using SSH
Using HTTPS
Check & Update Doom Emacsλ︎
doom doctor
diagnoses common issues with your environment and setup, and may offer clues about what is wrong.
doom sync
ensures Emacs packages are installed, orphaned packages are removed and autoloads/cache files are up to date.
Install Fira Code fontλ︎
practicalli/doom-emacs-config uses Fira Code, a mono-spaced font designed for source code and includes ligatures and many other features.
Use a different font with practicalli/doom-emacs-config
To use a different font when using the practicalli/doom-emacs-config, edit .config/doom/config.el
and update the value for doom-font
and any variations of fonts required
Language Serversλ︎
Some languages support Language Server Protocol to provide static analysis of code structure and provide live linting and other features. Each language will require installation of its own language server, most often as a nodejs package.
sudo npm install --global vscode-json-languageserver dockerfile-language-server-nodejs vscode-html-languageservice vscode-css-languageservice yaml-language-server
Or install a language server for the specific language
clojure-lsp.io provides the language server implementation for Clojure. Follow the relevant operating system install guide
On Linux machines, Practicalli recommends installing the latest clojure-lsp release to ~/.local/bin/
Add (json +lsp)
doom module in .config/doom/init.el
and install the JSON language server
Add (docker +lsp)
doom module in .config/doom/init.el
and install the Dockerfile language server
Add (web +lsp)
doom module in .config/doom/init.el
and install the HTML and CSS language servers
Doom Emacs readyλ︎
Doom Emacs is and ready to help you take on the world. Run emacs from a desktop launcher or on the command line:
Native compliation initial high cpu use
On first running Emacs after Doom install added packages, the elisp code will be compiled to native binaries. The compilation will use considerable CPU resources.
If you already know how to use Doom Emacs, jump to the Clojure Projects section, otherwise look through the Doom Basics to learn how to use Vim style editing and work with files, buffers and windows.