On Wed, Feb 14, 2018 at 06:18:07AM +1100, Carlo Zancanaro wrote: > > On Tue, Feb 13 2018, Leo Famulari wrote: > > > That’s a misunderstanding. All of the things in the “services” > > > field of > > > your operating-system configuration are “system services”, so all of > > > them get updated. > > > > But, it doesn't try to stop and restart those services in case of any > > relevant changes, right? Doesn't that require a reboot? > > The "system services" aren't services in the sense of being started/stopped. > They are an extensible way to modify the system, such that one "service" can > depend on another for its behaviour. For example, the `etc-service-type` is > responsible for putting files in /etc, and so other services can "extend" it > with files that they want placed in /etc. The concept of "starting" and > "stopping" these services isn't really meaningful, because they just specify > the state of the system. These services have an effect when you reconfigure. > > One of the things that a "system service" can do is to register a Shepherd > service. This is a process which will be invoked by Shepherd (pid 1), and > can be started/stopped with the `herd` command. Reconfigure will not > register any new Shepherd services, if doing so would involve starting an > already-running service. So, for instance, you probably have a `guix-daemon` > process running on your system. Reconfiguring your system will not upgrade > (and thus restart) your `guix-daemon`. You need to reboot to have the new, > updated, `guix-daemon` process. (Ideally you would only have to stop/start > the Shepherd service manually to have the updated version, but at the moment > doing so will just restart the old version.) > > Hopefully that explanation is helpful. I also hope it's correct. Thanks, that's a very helpful explanation!