Hello Guix hackers !

I find myself spending a lot of time developing custom service types and,
being a novice in Guile, I feel like I need to add a few lines of code at a
time, test, and repeat.

So far I've been working on the new service in its own file and I added
this service in my operating-system definition. I then use `guix system
reconfigure ...' to test the service.
This workflow works but it is time consuming. It also adds a new operating
system generation at each iteration, which is unnecessary.
I also don't like the fact that I'm putting some code in my
operating-system definition that I wasn't able to test beforehand.

So I'd like to know the "Guix way", or just a more efficient way to do this
type of development. Note that I'm mostly interested in service types that
extend shepherd-service-type.

My end goal would be to call something like `(test-my-service
"path/to/service.scm")' and have it stop the service if it's running,
reload its definition according to what's in "path/to/service.scm" and
restart it.

Would this be a way to go ? If it is, how could this be implemented ?
And do you have any other advice ?

Thanks !

Reply via email to