Fork me on GitHub
#emacs
<
2020-01-01
>
didibus02:01:14

Anyone knows if there's an emacs config manager? I'm looking for something say a bit like Spacemacs or doom-emacs in that it helps organize configuration more cleanly and provides package management and update/rollback, but that would be all, otherwise it would be a plain Emacs starter config?

Cora (she/her)02:01:31

straight.el, maybe?

Cora (she/her)02:01:34

it has lockfiles that keep track of all packages installed and which versions

Cora (she/her)02:01:45

and it versions those so you can roll back

Cora (she/her)02:01:12

and it makes what you have installed reproducible on other machines

didibus02:01:46

Hum, that does seem nice for package management

didibus02:01:55

Now anything for config management?

didibus02:01:04

Like init.el management?

didibus02:01:27

Like doom-emacs lists as features:

A modular architecture for a more organized Emacs configuration.
A custom elisp library to help you simplify your config.
A declarative package management system (powered by straight.el) with a command line interface. Install packages from anywhere, not just (M)ELPA.

didibus02:01:43

I want only that!

Cora (she/her)02:01:50

I don't know of anything that does that

Cora (she/her)02:01:09

but it's not too hard to make your own config directories and pull things in

Cora (she/her)02:01:35

a lot of the elisp library in doom is dependent on the packages that are in the base install

Cora (she/her)02:01:53

you could always just use doom and opt out of most of the packages

didibus02:01:31

Hum... I guess I can start with a classic emacs config and see how things go.

Cora (she/her)02:01:57

straight.el also has a concept of recipes which may be similar to part of what you want

Cora (she/her)02:01:39

or at least I think it is

didibus02:01:50

Ya, straight.el does seem like it would help a lot, the package management stuff is the hardest to put together on my own

andy.fingerhut03:01:50

I have had my .emacs.d directory under git version control for a while now, kept in a public Github repo, which gives me the ability to roll back if I mess up something, and also easily copy the files to a new machine if I want to use the same Emacs setup on it.

j0ni20:01:30

hey @U0CMVHBL2 do you connect to repls from emacs, and if so (and you don't mind me asking!) how?

andy.fingerhut20:01:04

I connect to socket REPLs from emacs. I know many people use Cider and unrepl, but I haven't used that.

andy.fingerhut20:01:33

I use inf-clojure to connect to a socket REPL. Perhaps I should write up the steps somewhere and publish them, rather than recording them in this ephemeral place.

j0ni21:01:07

that would be cool - I've only had partial success getting inf-clojure to work

j0ni21:01:33

do you have a working jump-do-definition function? That would do it for me I think 🙂

andy.fingerhut21:01:04

I believe Cider can provide that, and some other things, but I don't have one in my setup right now.

j0ni21:01:21

yeah I currently use cider for most work, but I barely use a fraction of its capabilities, and it's very complex. Thanks for answering.

andy.fingerhut21:01:09

Eh, if you can make good use of the fraction you care about, and if the parts you do not use are not causing you problems, you should be good. Granted it is entirely possible that parts you do not use may sometimes be causing you problems.

j0ni21:01:28

I'm not miserable 🙂 Just always interested in simplification - I just tried out clojure-lsp in combination with inf-clojure, and that's actually looking quite usable.

andy.fingerhut21:01:03

I've heard of clojure-lsp but never tried it out before. Were the instructions you found for setting it up, and using jump-to-definition, straightforward?

j0ni22:01:36

It looked like it was pretty straightforward from the README - I saw it was already supported by lsp-mode which I already use elsewhere. So I installed the clojure-lsp binary and started lsp in a buffer and it just started working 🙂

j0ni22:01:18

the README was pretty clear, and looked like it would work out of the box for someone who did not already have lsp-mode installed

j0ni22:01:53

and I was fortunate that there is a maintained arch linux user repo for it, so installing it was a 1-liner

j0ni22:01:22

(it can't jump into sql using hugsql understandings though, which cider can, which always filled me with wonder - a real "it just works" moment ❤️ so we'll see how long I last and if the new things make it worthwhile (linting...hmm))

sogaiu14:01:54

re: jump-to-definition - if you don't mind re-indexing manually from time-to-time, i have some code that generates a TAGS file for a project and its dependencies. this then works with built-in emacs commands for navigating code: https://gist.github.com/sogaiu/6cb947b00ae13d00d4ae16ab7aaf97e4