I wanted a config that I can give to a anyone and they just have an Emacs running with Clojure setup.
If you do not have an Emacs config yet and you want to start out with
simple-easy-emacs
:
cd
git clone https://github.com/benjamin-asdf/simple-easy-emacs.git .emacs.d
first intall emacs. Here is a guide
cd
cd AppData/Roaming/
git clone https://github.com/benjamin-asdf/simple-easy-emacs.git .emacs.d
run Emacs!
git clone https://github.com/benjamin-asdf/simple-easy-emacs.git
cd simple-easy-emacs
./run.sh
First time takes a bit and are some (comp) warnings, this is fine.
After Emacs startup up, use `M-x` (that is alt + x) type simple ~.
Find ~simple-easy-clojure-hello
and Ret to run the command.
After a bit a cider repl buffer should pop up.
If you lost where you are type C-x b
to get a list of current buffers
Now checkout the file hello.clj
.
Here are your spaceships controls:
cider-eval-defun-at-point
C-M-x
(that is ctr + alt + x)
cider-eval-last-sexp
C-x C-e
cider-load-file
C-c C-l
Use C-M-i
completion-in-region
to completion candidates.
- The default Emacs editing and movement commands I searched Emacs cheat sheet and this popped up: https://www.shortcutfoo.com/app/dojos/emacs/cheatsheet
- more commands (find them with M-x)
consult-buffer window-left window-right etc describe-key describe-variable describe-function describe-mode describe-keymap
see doc/evil.org
You can find those on github, check their readme:
- marginalia (prettier completion candidates)
- magit
- evil + evil collection (you don’t need doom to get vim binds)
- flycheck, flycheck-clj-kondo (get clj-kondo aswell)
- embark
- winner
- link-hint
- corfu or company for completion popups
https://github.com/benjamin-asdf/dotfiles/tree/master/mememacs/.emacs-mememacs.d
- no evil
- builtin theme
- no projectile.el
- Yet, I do hesitate to configure builtins like show-paren-mode to give a more modern and minimal look and feel
- preferably a newcomer could look at the config and not get lost
- works on windows
- disable lock files
- no evil by default
- disable byte compile warnings (TODO)
I see users of config frameworks learning the way of the config framework. Maybe that is fine but I have some hunch that the default emacs way makes you more intimate with the program and lisp, and this where the real power of emacs lies.
- commonly used
- Readmes commonly have a use-package snippet
- I like how straight.el brings github repos as first class citizens sort of.
Simple, focused and powerful. These are virtually synonymous with “modern emacs config”.
I am not sure if a big mode line with vsc element might be slow on windows. I still desire a modern and minimalist style, hence https://github.com/jessiehildebrandt/mood-line (my fork https://github.com/benjamin-asdf/mood-line)
The title is both a play both on the seminal talk Simple Made Easy by Rich Hickey, that has strong influence on the philosophy of clojure in practice. And a salute towards a recent talk by Daniel Higginbotham & Arne Brasseur.
Thanks to David Wilson for https://github.com/daviwil/emacs-from-scratch. Thanks also to Gavin https://github.com/Gavinok/emacs.d for inspiration.
You might start any of these up and feel it brimming your mind like a spaceship.