Fork me on GitHub
#emacs
<
2019-12-28
>
Kari Marttila15:12:18

Is there some example how to minimally configure Emacs for Clojure, paredit, rainbow parenthesis etc. I have some issues to make paredit work automatically in Clojure mode when I open some .clj file. I tried emacs-live (https://github.com/overtone/emacs-live) and it seems to be really great but it also takes quite a lot of time to start Emacs with all those configurations...

vemv18:12:28

I started with emacs-live ~7 years ago, used it for a few months, and then simply forked it. I gradually removed stuff and eventually had everything written by me You could do that with a modern alternative such as prelude. But yes, I recall some blog post explaining how to setup these from scratch. It's certainly possible, if you can't find out how I'd say that your time is better spent in using these "frameworks" Btw, under many workflows, an Emacs session lasts days. So startup time has a very relative cost

iammiles19:12:49

Not sure what you mean by example but here’s my init.el file https://github.com/iammiles/cautious-guacamole/blob/master/init.el It has a few more packages but you can choose to not install them / remove their setup. For info on using paredit, I learned what little I know from https://www.braveclojure.com/basic-emacs/#Paredit

iammiles19:12:35

I think the key word was minimally 😛

andy.fingerhut19:12:58

If you start out with vanilla GNU Emacs, then use M-x package-list-packages, mark the packages you want to install with the "I" key (I think), then apply those, then it is mostly a matter of picking which packages you want, and in some cases, adding a new repository of Emacs packages to retrieve packages from, and in some cases then configuring those packages to your liking.

andy.fingerhut19:12:34

Installing the clojure-mode package, IIRC, is pretty darned straightforward.

andy.fingerhut19:12:51

I haven't installed paredit, rainbow parens, etc., because I haven't wanted to use them.

dpsutton19:12:37

a simple init would be

(package-initialize)

(when (not package-archive-contents)
  (package-refresh-contents))

(when (not (package-installed-p 'use-package))
  (package-install 'use-package))

(require 'use-package)
(use-package cider)