guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 13/36: services: Add hurd-console-service-type.


From: Ludovic Courtès
Subject: Re: 13/36: services: Add hurd-console-service-type.
Date: Fri, 01 May 2020 00:03:51 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

address@hidden skribis:

> commit d7a217e67dcd3b14402d746f4428db8545ce83f2
> Author: Jan (janneke) Nieuwenhuizen <address@hidden>
> AuthorDate: Mon Apr 13 10:13:05 2020 +0200
>
>     services: Add hurd-console-service-type.
>     
>     * gnu/services/hurd.scm (<hurd-console-configuration>): New variable.
>     (hurd-console-shepherd-service, hurd-console-service-type): New function.
>     (hurd-service->shepherd-service): Add entry.

Now for the exciting stuff, neat!

> -  #:export (hurd-service->shepherd-service))
> +  #:export (hurd-console-service-type
> +            hurd-service->shepherd-service))
>  
>  ;;; Commentary:
>  ;;;
> @@ -38,9 +39,51 @@
>  (define (hurd-service->shepherd-service service)
>    (let ((config (service-value service)))
>      (match config
> +      (($ <hurd-console-configuration>) (hurd-console-shepherd-service 
> config))
>        (_ '()))))

Hmm do we really need this ‘hurd-service->shepherd-service’ procedure?
I haven’t read the rest, but it seems surprising at first sight.

> +  (list (shepherd-service
> +         (documentation "Hurd console.")

“Run the Hurd’s VGA console client.”

> +         (provision '(console))
> +         (requirement '())

Should be '(user-processes) I think.

> +         (start #~(lambda _ (fork+exec-command #$console-command) #t))

Rather #~(make-forkexec-constructor #$console-command).

> +(define hurd-console-service-type
> +  (service-type
> +   (name 'console)
> +   (description
> +    "Run a hurd console, @command{console}.")

Maybe “Run the Hurd console client.”

> +   (compose concatenate)
> +   (extend first-of-two)

I don’t think we need these two fields since this service is not meant
to be extensible.

> +   (default-value (hurd-console-configuration))))

Please add a ‘description’ too!

Also, normally we document every new service type in the manual, but
maybe we can delay it here so that you can unleash your hack powers in
the meantime.  :-)

Thanks,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]