Supercedes Aquamacs Emacs Starter Kit as I have now moved to Emacs Plus.
Right now this is aimed at setting up a productive environment for programming in Elixir via Language Server Protocol use, but other language support is easily added.
Obviously emacs (at least 29.1, actually ~29.0.91
, for tree-sitter support). This is aimed at Emacs Plus, but should work with most vanilla emacs variants without much modification. Assumes ~/.emacs.d
directory.
Since it relies on LSP, you'll need to install an lsp server for any languages you want to support. This will be touched on in Install below. Remember where you installed elixir lsp server for later. Later emacs will also be installing the credo-language-server
binary.
You'll also need to install tree-sitter and make sure your emacs is able to use it (e.g. steps here).
We also take advantage of treesit-auto for installation of tree-sitter versions of major mode grammers. E.g. the first time you open an JavaScript file, if the grammer hasn't beem downloaded and enabled previously, it will be.
- elixir-ts-mode
- heex-ts-mode
- mix minor mode
- inf-elixir
- exunit
- credo-ls via lsp-mode
- lsp-treemacs
- yasnippet-snippets
- set up your lsp server and note path of parent directory of
language_server.sh
, default is~/.elixir-ls/release
cd ~/emacs.d/
git clone git://github.com/walter/emakit.git
(or even better clone your fork)- if your language server directory setting is different, update in
emakit/lsp-config.el
- have a look around the files under
emakit
, here's your chance to personalize things, like your theme inemakit/appearance.el
- add the following to
~/emacs.d/init.el
- create the file if it doesn't already exist
;; emakit
;; http://github.com/walter/emakit
;; set the dotfiles-dir variable to this directory
(setq kitfiles-dir (concat (file-name-directory
(or (buffer-file-name) load-file-name)) "/emakit"))
;; set up our various directories to load
(add-to-list 'load-path kitfiles-dir)
(require 'emakit)
-
restart emacs and wait for packages to install...
-
after packages have been install, run
M-x lsp-install-server credo-language-server