This is a relatively simple patch adding a replacement slot to services in the Shepherd. When stopping a service, the replacement slot is checked and, if it has a value, is used to upgrade the current service. I've chosen to modify the existing service, rather than creating a new one, but that was mostly because it was easier for me to implement quickly, and I didn't have a huge amount of time. I'm hopeful that this, or something like it, can be used by GuixSD to allow people to restart services after reconfiguring without rebooting (or remembering to stop, reconfigure, start). Carlo