Skip to content

Practicalli Doom Emacsλ︎

Practicalli Doom Emacs is a guide to Clojure REPL Driven Development with Doom Emacs configuration and Practicalli customization.

Doom is not aimed at Emacs beginners (unless the aim is to learn Emacs in more depth). There is limited official documentation, although there is a healthy community support.

Looking for a batteries included approach?

Practicalli Spacemacs and practicalli/spacemacs.d provide all the Emacs features needed for Clojure, with just two Git clone commands. Spacemacs is a community configuration for Emacs with a very large community and very detailed documentation.

Book development on hold

Practicalli Doom Emacs and its associated configuration project are currently on hold as Doom Emacs is not currently used by Practicalli.

The book was started in December 2022 with little knowledge of Doom Emacs, so is mostly a journal of things that have been learned as Practicalli tries to create an effective development workflow, especially with Clojure.

Should Practicalli use Doom Emacs regularly again then further content will be added as new things are discovered, to aid in the learning and effective use of Doom Emacs.

Practicalli Doom Emacs configurationλ︎

practicalli/doom-emacs-config repository contains a customised configuration for Clojure development and supporting tools. Browse the repository online or fork / clone the repository

git clone https://github.com/practicalli/doom-emacs-config.git $XDG_CONFIG_HOME/doom`
The Practicalli configuration should replace the ~/.config/doom/ directory created by the doom install command.

git clone https://github.com/practicalli/doom-emacs-config.git $HOME/.doom.d`
The Practicalli configuration should replace the ~/.doom.d/ directory created by the doom install command.

Emacs Doom with Practicalli customisations Emacs Doom with Practicalli customisations

REPL Driven Developmentλ︎

Clojure repl driven development using Clojure aware editor

The REPL is the Clojure interactive environment used to create an run all code. You will quickly get a feel for Clojure by evaluating, breaking, fixing and extending code in the REPL, all the while getting instant feedback on what your code is doing.

As we work through code we will discuss the concepts behind Clojure, including functional programming, "pure" functions and a stateless approach with persistent data structures, changing state safely, Java interoperability and tooling around Clojure.

Resourcesλ︎

Discussions and feedbackλ︎

Contributions are welcome via GitHub issues and pull requests, or discuss the book on the Clojurians Slack community.

practicalli channel - Clojurians Slack Community

Free Clojurians slack community account

Use the mouse or built-in key bindings to navigate the pages of the book

  • P , , : go to previous page
  • N , . : go to next page

Use the search box to quickly find a specific topic

  • F , S , / : open search dialog
  • Down , Up : select next / previous result
  • Esc , Tab : close search dialog
  • Enter : follow selected result

Sponsor practicalli-johnny

All sponsorship funds are used to support the continued development of Practicalli series of books and videos, although most work is done at personal cost and time.

Thanks to Cognitect, Nubank and a wide range of other sponsors from the Clojure community for your continued support

Creative commons licenseλ︎

Creative Commons License This work is licensed under a Creative Commons Attribution 4.0 ShareAlike License (including images & stylesheets).