A new emacs journey

Posted on

Tags: #emacs


As per my post last week, I'm diving into knowing emacs from scratch! Well, from scratch isn't really fair to say; moreso, I'm pulling together my own config. It's been super fun! Here's what I've learned:

  • Doom did a lot of things for me with lots of magic to tie all the things together.
  • I learned more about several new and vaguely known packages: straight, use-package, perspective, consult, vertico.
  • Reloading your config is so much easier than I realized; the way Doom is built, it suggests you just restart Emacs. I can just eval my init.el and try things out.
  • Getting bindings done is a bit of a pain, but I'm appreciating the ability to choose my own adventure for what I want my bindings to be instead of just accepting what Doom sets up for me (not that there is anything wrong with it!)

At the end of the day, my new config will largely be a pared down verison of Doom. I like this. I also like that, having started from zero, I see what each of these packages are doing, instead of vaguely knowing what is going on. In Doom, for example, I had no idea what the differences were between consult, vertico, occur, marginalia, and so on.

I was also able to poke around a bit with Nicolas Rougier's work to see if I could get it working. It mostly worked, but in the end I just read some code and took some ideas.

There are lots of little things that I want to figure out:

  • Getting a decent popup system working. Popper is good so far, but I'm not sure how to get it integrating nicely with everything.
  • I haven't configured any languages. I'll be starting with Rust, and Elixir, since that's what I'm writing most these days (never thought I'd be writing that!).
  • Making sure that eglot works (going to use it over lsp-mode since it's merged into Emacs 29)
  • adding in little nicety packages: avy, git time machine, dired-ranger, git link, embark (gotta figure that one out...)
  • figuring out how to disable line numbers in temporary buffers (treemacs, poppers, etc).

Of course, I'm living in tinkering-central now that I'm doing this. With some holidays I've taken and some to come, I think I can justify a few spare hours on Emacs, considering it's probably saved me hundreds of hours over the years (and I barely knew what was going on under the hood!)

Thanks for reading o/