Fork me on GitHub
#emacs
<
2021-11-18
>
jjttjj05:11:37

What are the modern init.el/config starter setups for experienced Clojure devs looking to get in to emacs for the first time? (I remember this being discussed on a clojure podcast in the last year or so but can't find the source)

Ben Sless06:11:42

The simplest and most holistic user experience is spacemacs

1
bozhidar08:11:24

I definitely wouldn't call it "simplest". 😄

bozhidar08:11:36

I think the simplest would be a tiny single file setup - e.g. something like mine https://github.com/bbatsov/emacs.d/blob/master/init.el

bozhidar08:11:36

Prelude (https://github.com/bbatsov/prelude/) is also fairly simple compared to most of the competition and for obvious reasons it works well for Clojure development. 🙂

Ben Sless08:11:55

I knew it would be a controversial claim 🙃

Ben Sless08:11:38

From mine and other users' experience I found that spacemacs's abstraction model is good

Ben Sless08:11:12

It doesn't require deep familiarity with emacs to get going, but it doesn't stop you or hide anything from you

Ben Sless08:11:38

So in my opinion it is both easy and simple

bozhidar08:11:41

Well, if it's simple for you I can't argue with that. I've just always been on the minimalist side of everything and avoid additional abstractions when possible.

Ben Sless09:11:41

At the risk of sounding cheeky, why use Clojure and not C?

Ben Sless09:11:08

Abstractions have a price, but sometimes we're willing to pay it because they free us from worrying about the little things

Ben Sless09:11:17

They get out of our way instead of under our feet

Ben Sless09:11:44

It's been my experience that Spacemacs gets out of my way while Doom Emacs forces the user to contend with it constantly

bozhidar09:11:30

I don't dislike abstractions in general; I'm just wary of abusing them. I've yet to see some real problem that Spacemacs layers have solved, yet they introduce a mental overhead as you have to learn them to use them. Adding abstrations doesn't necessarily make something "simple" (Clojure). Something they make something "easy and complex", and sometimes it's even worse. 🙂

bozhidar09:11:10

That's super subjective, of course, and I encourage everyone to just stick with whatever works for them.

jjttjj14:11:05

Thanks everyone!

practicalli-johnny21:11:06

If you wish to use Spacemacs, this guide may be of interest https://practical.li/spacemacs/install-spacemacs/

☝️ 2
West03:11:09

Gotta say, I can’t live without lisp interaction mode in spacemacs; SPC k. @U05254DQM’s guide is awesome. I actually started with https://youtu.be/NDrpclY54E0 by him. Gives just enough of an intro to using spacemacs with Clojure. Also, Spacemacs: Easy? Yes. Simple? …not really, definitely not simple under the hood.

West03:11:26

Doom ain’t bad though.

West04:11:01

If you do decide to go raw-emacs, figure out how to hook up melpa, then get which-key to show keybindings and evil-mode for vim emulation (I think we can all agree the default emacs bindings absolutely http://xahlee.info/emacs/emacs/emacs_pinky.html).

andy.fingerhut23:11:45

I don't know these other modes well enough to know whether I am even more minimal than they are, but I suspect I am: clojure-mode only 🙂

rberger02:11:23

After not doing much programming for a long while and I had to pick up emacs again when I started hacking again, I used Spacemacs for a long while which I liked for a long while. Finally got fed up with not being able to understand what was going on for various modes that I had problems with. Been trying Doom which was a bit simpler. But now I’ve decided all the evil stuff really gets in the way in both Spacemacs and Doom (I don’t use any of it, I use them in holy mode and most documentation for Spacemacs/Doom show the evil way) Both were nice when they worked, but if something didn’t work, it was hard. It was hard for me to stay in sync with my colleagues who were running their own (heavily customized) emacs. So I’m going to try Prelude (again, used it when it first came out). But if you need to use evil mode, they are both nice for that.

West18:11:11

Anybody use the https://www.neilvandyke.org/sicp-texi/? I’m trying to unzip it, but gzip gives me an error.

$ gzip -d sicp.info.gz
gzip: sicp.info.gz: not in gzip format

respatialized18:11:41

https://sarabander.github.io/sicp/html/index.xhtml This HTML version is IMO the nicest (I prefer to stay as far away from TeX/LaTeX as I can)

respatialized19:11:25

I'd try tar xf on that file though

West19:11:13

What major mode would you recommend reading the html version in?

respatialized19:11:12

I've used eww in the past and it's worked fine, but you might also be able to use the EPUB format with something like nov.el https://github.com/sarabander/sicp

👍 1
West19:11:22

Also:

$ /usr/bin/tar -xf 
tar: Error opening archive: Unrecognized archive format

chepprey01:11:55

$ file sicp.info.gz might give some insight as to what kind of file it actually is.

West03:11:09

Interesting… Seems like it wasn’t compressed at all.

$ file sicp.info.gz
sicp.info.gz: data

$ file -I sicp.info.gz                                        sicp.info.gz: application/octet-stream; charset=binary

West03:11:48

Also, when I cat it out, it just prints it like there’s nothing wrong. Like it isn’t garbled, just plaintext.

West03:11:32

What jank. This guy uploaded a file as a gzip file without actually gzipping it. 😠

djm07:11:08

How did you download it? Most likely your browser was trying to be helpful, and uncompressed it

djm07:11:40

❯ wget 
...
❯ file sicp.info.gz
sicp.info.gz: gzip compressed data, was "", last modified: Wed Jan 10 09:29:09 2007, max compression, from Unix, original size modulo 2^32 1487932

West19:11:17

The browser did in fact decompress it. I wonder why it didn’t take off the .gz extension.

djm19:11:02

Browsers support gzip so that web pages can be sent in a compressed format (identified by the content type header). But they also tend to believe the filename claimed by the server, and in this case your browser wasn't smart enough to put two and two together. I wonder if some browsers handle this better than others. I know I've seen it happen with Firefox, but don't recall seeing it with Chrome.

West00:11:16

I tested with both brave and firefox, same behavior.