Hi Remco,

On Thu Mar 19, 2026 at 8:52 AM CET, Tanguy Le Carrour wrote:
> On Wed Mar 18, 2026 at 3:47 PM CET, Remco van 't Veer wrote:
>> 2026/03/18, Tanguy Le Carrour:
>>
>>> I do not "own" the `gunicorn-service-type` and cannot add a `requirement` 
>>> to its
>>> shepherd extension to tell it that it should run after the database.
>>
>> I use this trick to make a service depend on another service:
>>
>>   https://mail.gnu.org/archive/html/help-guix/2024-03/msg00075.html 
>
> 🤯
> Thanks! I’ll give it a try at the week end!

First try… first failure! 😵
To be faire, I used the function in the wrong place! 😅
Then I did:

```scheme
(operating-system
  ; …
  (services
    (list
      (service (depend-on gertrude-service-type 'postgresql)
               (gertrude-configuration
                 ; …
                ))))))
```

Everything *seems* to work, but I cannot confirm for Shepherd, doesn’t say
that it’s starting my services even though it says it starts a lot
of other services:

```
shepherd[1]: GNU Shepherd 1.0.9 (Guile 3.0.9, Fibers 1.4.2, 
x86_64-unknown-linux-gnu)
shepherd[1]: Starting service root...
shepherd[1]: Service root started.
shepherd[1]: Service root running with value #<<process> id: 1 command: #f>.
shepherd[1]: Service root has been started.
shepherd[1]: starting services...
shepherd[1]: Configuration successfully loaded from 
'/gnu/store/z9brrmz19wxy4dgkyrpd5ilj6dmr4xba-shepherd.conf'.
shepherd[1]: Starting service root-file-system...
shepherd[1]: Starting service host-name...
shepherd[1]: Starting service pam...
shepherd[1]: Starting service sysctl...
shepherd[1]: Starting service log-rotation...
shepherd[1]: Starting service loopback...
shepherd[1]: Service root-file-system started.
shepherd[1]: Service host-name started.
shepherd[1]: Service pam started.
shepherd[1]: Service log-rotation started.
shepherd[1]: Service loopback started.
shepherd[1]: Service root-file-system running with value #t.
shepherd[1]: Service host-name running with value "gertrude".
shepherd[1]: Service pam running with value #t.
```

No `postrgesql`, no `gunicorn-gertrude`, but when I log into the container 
there are
running as expected. So I’m not sure in which order they are started!
I tried requiring `something-that-does-not-exist`, but everything still works 
happily. 😅

But, even if the `depend-on` was working as expected, I would still don’t get 
**how**
it was supposed to work, as the activations are run **before** Shepherd is even 
started?! 🤔

Thanks,

--
Tanguy

Reply via email to