diff mbox series

[bug#47238] services: mcron: Export procedures for shepherd service

Message ID 56019d274a5eaa54ce4d596550f1a96ec490bb39.1616079573.git.public@yoctocell.xyz
State New
Headers show
Series [bug#47238] services: mcron: Export procedures for shepherd service | expand

Checks

Context Check Description
cbaines/submitting builds success
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Xinglu Chen March 18, 2021, 3:03 p.m. UTC
* gnu/services/mcron.scm (job-files): Export procedure.
  (shepherd-schedule-action): Likewise.
---
I am going to write an mcron service for `guix home`[1] so users can run
cron jobs for syncing mail, backups etc.  It would be nice to be able to
use these two procedures to avoid code duplication.

[1]: https://yhetil.org/guix-devel/878s6u2pco.fsf@trop.in

 gnu/services/mcron.scm | 3 +++
 1 file changed, 3 insertions(+)


base-commit: 9783645ee8eaf9c33ce952131e692fb2ff47ffc9

Comments

Ludovic Courtès March 28, 2021, 8:11 p.m. UTC | #1
Hi,

Xinglu Chen <public@yoctocell.xyz> skribis:

> * gnu/services/mcron.scm (job-files): Export procedure.
>   (shepherd-schedule-action): Likewise.
> ---
> I am going to write an mcron service for `guix home`[1] so users can run
> cron jobs for syncing mail, backups etc.  It would be nice to be able to
> use these two procedures to avoid code duplication.
>
> [1]: https://yhetil.org/guix-devel/878s6u2pco.fsf@trop.in

I’m often reluctant to exposing more than what’s strictly necessary
because that can then complicate maintenance work—we now have to extra
bindings to maintain.

In this case, it’s definitely not the end of the world, but I wonder if
there are other ways we could achieve what you have in mind.  For
instance, could Guix Home reuse ‘mcron-service-type’ as is?  Or, with an
eye on getting Guix Home into Guix proper, are there some minimal
changes we could make to accommodate that?

(I have yet to play with Guix Home and to look at the implementation…)

Ludo’.
Xinglu Chen March 28, 2021, 9:31 p.m. UTC | #2
On Sun, Mar 28 2021, Ludovic Courtès wrote:

> I’m often reluctant to exposing more than what’s strictly necessary
> because that can then complicate maintenance work—we now have to extra
> bindings to maintain.

Yeah, that's understandable.

> In this case, it’s definitely not the end of the world, but I wonder if
> there are other ways we could achieve what you have in mind.  For
> instance, could Guix Home reuse ‘mcron-seevice-type’ as is?

Right now all the service names are prefixed 'home-' to avoid name
clashes, though, maybe this could be changed in the future.  For now I
have just copied the definition of the procedures to Guix Home.

> Or, with an eye on getting Guix Home into Guix proper, are there some
> minimal changes we could make to accommodate that?

We are currently mostly focused on implementing some basic services
(e.g. Bash, GnuPG, Git).  After that we will probably invite some
volunteers to test it on their machines to get some more feedback.  Once
the basic services have been implemented and the documentation is
complete I think it would be appropriate to discuss merging Guix
Home to Guix proper, and probably refactor some stuff.

> (I have yet to play with Guix Home and to look at the implementation…)

There is a quickstart guide[1] on getting it up and running and we also
have a mailing list if you want to discuss things[2].  Andrew recently
made a video on the progress so far, and he touched a little on the
plan for the upcomming weeks/months.

Happy to see more people interested in Guix Home!

[1]: https://git.sr.ht/~abcdw/rde/tree/master/item/gnu/README
[2]: https://lists.sr.ht/~abcdw/rde-devel
[3]: https://youtube.com/watch?v=ZaXHtSKKoeg
diff mbox series

Patch

diff --git a/gnu/services/mcron.scm b/gnu/services/mcron.scm
index bd4e6e7410..982af08596 100644
--- a/gnu/services/mcron.scm
+++ b/gnu/services/mcron.scm
@@ -31,6 +31,9 @@ 
             mcron-configuration-mcron
             mcron-configuration-jobs
 
+            job-files
+            shepherd-schedule-action
+
             mcron-service-type
             mcron-service))