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 !
