I understand that nix-doom-emacs is a downstream dependent and not necessarily a concern of doom, but I believe being able to nix-ify (or guix-ify) doom is, as I understand, quite aligned with the project. Forgive me if this suggestion is not within scope.
Currently nix-doom-emacs jacks in to straight.el to first get a list of dependencies, and then provides repos as nix packages. This doesn’t have any pinning information from doom-emacs.
It would be convenient if there was a batch mode API to:
- get a list of packages with descriptions of all the information doom has about them without network access
- generate a lock from package descriptions with network access
- from a locked package description, describe how to fetch its source and what it’s dependencies are.
- compile a single package from its description and its source
I am not well versed in how doom does package management. Some of this logic may be straight’s responsibility. I am willing to work on a PR for this, but I just want to clarify whether this sort of thing belongs here or in nix-doom-emacs and put what would be ideal for the maintainers here first.