cbowdon / daemons.el

An Emacs UI for managing init system services
GNU General Public License v3.0
102 stars 12 forks source link

Add support for shepherd (GuixSD) #7

Closed Ambrevar closed 6 years ago

Ambrevar commented 6 years ago

I would be fantastic to see support for Shepherd, the GNU init system (used, among others, by GuixSD).

cbowdon commented 6 years ago

@jellelicht has kindly provided a PR for this, which is now merged in. Please give it a whirl!

Ambrevar commented 6 years ago

Off to a rough start: it does not load :p

Fix:

-        ((= 0 (daemons--shell-command "which herd")) 'daemons-herd)
+        ((= 0 (daemons--shell-command "which herd")) 'daemons-shepherd)

Once past that, daemons does not display anything, I still haven't figured out why.

Ambrevar commented 6 years ago

@jellelicht?

Ambrevar commented 6 years ago

My bad: daemons-always-sudo needs to be non-nil for daemons-shepherd to work.

cbowdon commented 6 years ago

Oops, that was a lousy mistake. Fixed in 40f8e5a6a4891a972e3b003f7f4a39667c63edaf.

Ambrevar commented 6 years ago

Thanks!

jellelicht commented 6 years ago

I only wrote (and tested) for Shepherd /w user services, as mentioned in the README. If it does not work for that, I did something wrong. I also kind of assumed that there would already be a running Shepherd instance running somewhere, if this is incorrect I should work on that.

AFAICS, you are trying to use system shepherd, which I did not test for. Is there something I can still do to make it work for your use-case as well?

Ambrevar commented 6 years ago

Sorry if if this wasn't clear: it does work with system services too! We only need to set daemons-always-sudo to non-nil.

cbowdon commented 6 years ago

I think Shepherd is now well-supported, so let's close this ticket. Thanks @Ambrevar and @jellelicht for all your hard work here!