Hey hlissner (and other folks)!
I’m packaging Doom for the Guix package manager. It’s a messy business because currently usages of Doom’s external dependencies (ripgrep
, fd
, etc) are scattered all over the code, requiring extensive and brittle patching. If they were each defined in one place this would go a lot more smoothly, something like:
(defcustom doom-rg-executable
(executable-find "rg")
"Name of the executable to run."
:type 'string)
Lots of emacs packages do it like this and I imagine you’ll agree it’s good practice anyway.
Note that I am NOT asking you to:
- do this for emacs package internals or any code other than Doom’s Emacs packages in Guix are all already patched.
- change any
doctor.el
files The doctor’s feedback about missing executables is largely meaningless since Emacs package dependencies are patched-in, that’s fine. - necessarily do
git
That would be ideal but it’s seriously everywhere and I understand it might be a pain.
So I’d like to see core the dependencies fd
, ripgrep
, git
centralized as well as any executables in modules (namely zstd
in :emacs undo
).
What do you think? I’d be willing to do it myself and make a pull request if you’ll accept it, do you have any preferences on how you’d like this done?