I run a Guix System, but I don't use RDE. I'm wondering what would be
the simplest way for me to generate `configure-x` elisp packages the way
Andrew Tropin demonstrated in his "GNU Guix as Emacs package manager"
video using Guix Home. Right now I'm using Guix Home to install my
init.el (from a file) which contains a bunch of "sections" that could be
nicely separated into `configure-x` packages with their dependent Emacs
packages. Unlike RDE, I do not need these configure packages to provide
external configuration flags or anything fancy, since I would just code
them to my exact specifications.
My trouble is I couldn't quite parse the feature definitions in (rde
features emacs-xyz) to get a better idea of how to do this myself or
what components I can take from RDE directly.
Got any advice for a Guix noob like me?
Thanks in advance,
- James
Hi James,
The functionality you're looking for is located in the service
make-home-elisp-service-type (which is reused in
rde-elisp-configuration-service). It extends the
home-emacs-feature-loader-service-type which extends the
home-emacs-feature, so I guess you don't have an easy way to simply have
this extensibility feature without also embracing the whole
home-emacs-service from RDE.
A possible way to go (possibly not the best): start from the
feature-emacs' emacs-home-services definition, clear out everything you
don't need, from there inject in your home services. Then one by one you
can add you own configure packages using home-elisp-configuration like
the one in rde-elisp-configuration-service.
--
Best regards,
Nicolas Graves
> Hi James,
Hi! Thanks for helping out :)
> The functionality you're looking for is located in the service> make-home-elisp-service-type (which is reused in> rde-elisp-configuration-service). It extends the> home-emacs-feature-loader-service-type which extends the> home-emacs-feature, so I guess you don't have an easy way to simply have> this extensibility feature without also embracing the whole> home-emacs-service from RDE.
Hmm, okay that information should help me investigate further.
> A possible way to go (possibly not the best): start from the> feature-emacs' emacs-home-services definition, clear out everything you> don't need, from there inject in your home services. Then one by one you> can add you own configure packages using home-elisp-configuration like> the one in rde-elisp-configuration-service.
Okay that sounds promising, I'll give it my best shot and report back to
this thread if I come up with something useful - or if I need more help :P
Thanks again Nicolas,
- James