Subject: Re: [bug#64620] Bumping - Add home-emacs-service-type

From: Kierin Bell <[email-masked]>
Date: Wed, 15 Jan 2025 12:19:52 -0500

Andrew Wong <[email-masked]> writes:

> Seconding this. There's a good handful of times I've personally seen
> people ask about setting up their own home Emacs service on the help
> list and in IRC.

I would like to move forward with this as well --- it has been too long.
I have refactored the patch into two services: 'home-emacs-service-type'
and 'home-emacs-packages-service-type' (which extends the former and has
all of the bells and whistles related to package configuration). I think
that works very well and addresses some of the concerns expressed here
by Liliana.

There are a few things preventing me from sending a follow-up patch. The
first is writing new documentation, which is easy. The second is
updating unit tests, which is relatively easy --- I added 'guix home
import' support and need to test that.

The big one is addressing Ludo's concerns with the pretty printer and my
modifications of the (guix read-print) module. Eventually, I'd like to
implement a generic formatting library that can be used to pretty-print
Elisp (and other languages), but that's a big project. Think about all
of the special things that Emacs does when pretty-printing Elisp, and
what generalizing that would look like. What I have done for now is
moved my modified 'pretty-print-with-comments' functionality into a
separate module (currently called '(guix formatters)').

So progress doesn't stall forever, what I could do is move the pretty
printer into a new module that I'd propose calling something like:
'(guix formatters elisp)', with a function 'pretty-print-elisp'. It
would basically just be a stripped-down copy Ludo's pretty printer,
similar to what is present in the first patch. It's not ideal, but it
all works well and has been thoroughly debugged over the past two years
--- phew, it really has been that long.

-- 
Kierin Bell