|
| 1 | +--- |
| 2 | +title: Emacs for Clojure development |
| 3 | +description: How to use Emacs for Clojure development and what are the options for configuration |
| 4 | +icon: https://github.com/practicalli/graphic-design/blob/live/topic-images/emacs-logo-name.png?raw=true |
| 5 | +status: new |
| 6 | +date: |
| 7 | + created: 2025-01-26 |
| 8 | +authors: |
| 9 | + - practicalli |
| 10 | +categories: |
| 11 | + - emacs |
| 12 | +tags: |
| 13 | + - debian |
| 14 | + - spacemacs |
| 15 | + - emacs |
| 16 | +draft: true |
| 17 | +--- |
| 18 | + |
| 19 | + |
| 20 | +{align=right loading=lazy style="width:240px"} |
| 21 | + |
| 22 | +[:globe_with_meridians: Emacs]() has been the most 'popular' editor for Clojure development and according to the [:globe_with_meridians: Clojure Survey 2024](https://clojure.org/news/2024/12/02/state-of-clojure-2024) remains well ahead of other [Clojure aware editors](https://practical.li/clojure/clojure-editors/). |
| 23 | + |
| 24 | +Emacs 30 is the current stable release and includes: Eglot LSP client, Tree-Sitter language parser and `package.el` to install packages from Git repositories directly. |
| 25 | + |
| 26 | +Building from source is a convenient way to try Emacs features in advance, especially useful for those maintaining or developing new tools on top of Emacs. |
| 27 | + |
| 28 | +[Emacs 30 key changes](https://www.gnu.org/software/emacs/manual/html_node/efaq/New-in-Emacs-30.html){target=_blank .md-button} |
| 29 | + |
| 30 | +[Emacs 30 Hightlights](https://emacsconf.org/2024/talks/emacs30/){target=_blank .md-button} |
| 31 | + |
| 32 | +[Whats new in Emacs 30 - Mastering Emacs](https://www.masteringemacs.org/article/whats-new-in-emacs-301){target=_blank .md-button} |
| 33 | + |
| 34 | + |
| 35 | +<!-- more --> |
| 36 | + |
| 37 | +## Install |
| 38 | + |
| 39 | +=== Debian Linux |
| 40 | + |
| 41 | + Emacs 30 is available in Bookwork (backports) and Trixie (testing) via the `emacs` metapackage. |
| 42 | + |
| 43 | + !!! NOTE "Install Emacs 30 via Debian Package" |
| 44 | + ```shell |
| 45 | + apt install emacs |
| 46 | + ``` |
| 47 | + |
| 48 | +=== MacOS |
| 49 | + |
| 50 | + [Emacs Plus](https://github.com/d12frosted/homebrew-emacs-plus) is a GNU Emacs formulae for MacOS, providing configurable extra functionality and UI options. |
| 51 | + |
| 52 | + !!! NOTE "Install Emacs 30 via Emacs Plus Homebrew" |
| 53 | + ```shell |
| 54 | + brew tap d12frosted/emacs-plus && \ |
| 55 | + brew install emacs-plus |
| 56 | + ``` |
| 57 | + |
| 58 | + If using Spacemacs as a configuration |
| 59 | + |
| 60 | + !!! NOTE "Install Emacs 30 via Emacs Plus Homebrew" |
| 61 | + ```shell |
| 62 | + brew tap d12frosted/emacs-plus && \ |
| 63 | + brew install emacs-plus --with-spacemacs-icon |
| 64 | + ``` |
| 65 | + |
| 66 | + If using Doom Emacs as a configuration |
| 67 | + |
| 68 | + !!! NOTE "Install Emacs 30 via Emacs Plus Homebrew" |
| 69 | + ```shell |
| 70 | + brew tap d12frosted/emacs-plus && \ |
| 71 | + brew install emacs-plus --with-modern-doom3-icon |
| 72 | + ``` |
| 73 | + |
| 74 | + |
| 75 | + |
| 76 | +=== Arch Linux |
| 77 | + |
| 78 | + |
| 79 | +## References |
| 80 | + |
| 81 | +* [Emacs 28.1 whats new](https://www.masteringemacs.org/article/whats-new-in-emacs-28-1) - a very detailed description of new features in Emacs 28.1 |
| 82 | +* [Ubuntu Emacs LISP team PPA](https://launchpad.net/~ubuntu-elisp/+archive/ubuntu/ppa) - nightly Emacs snapshot builds from the latest Emacs commits |
| 83 | +- [Build Emacs from source on Debian Linux](https://practical.li/blog/build-emacs-from-source-on-debian-linux/) |
| 84 | + |
| 85 | +--- |
| 86 | +Thank you. |
| 87 | + |
| 88 | +[:globe_with_meridians: Practical.li Website](https://practical.li){target=_blank .md-button} |
| 89 | + |
| 90 | +[:fontawesome-brands-github: Practical.li GitHub Org](https://github.com/practicalli){target=_blank .md-button} |
| 91 | +[:fontawesome-brands-github: practicalli-johnny profile](https://github.com/practicalli-johnny){target=_blank .md-button} |
| 92 | + |
| 93 | +[:fontawesome-brands-mastodon: @practicalli@clj.social](https://clj.social/@practicalli){target=_blank .md-button} |
| 94 | +[:fontawesome-brands-twitter: @practical_li](https://twitter.com/practcial_li){target=_blank .md-button} |
0 commit comments