Hi,

zna...@tutanota.com writes:

> (define %my-services
>  (modify-services %base-services
>  (guix-service-type config =>
>  (guix-configuration
>  (inherit config)
>  (substitute-urls (list "https://mirror.hydra.gnu.org 
> <https://mirror.hydra.gnu.org>";
>  "https://hydra.gnu.org <https://hydra.gnu.org>";
>  "https://berlin.guixsd.org <https://berlin.guixsd.org>";
>  ))))))

Okay, %my-services is a list of services.  Let’s remember this.

>  (services (cons* ;;(tor-service)
>  (xfce-desktop-service)
>  (bluetooth-service)
>  (modify-services %desktop-services …)
>  %my-services
>  ));;end of services

Here you’re using cons* on four arguments: a service, another service, a
list of services, and yet another list of services.

This is why you get the error, because you’re creating a nested list of
services and lists of services.  When you pay attention to the types you
could come up with an alternative, such as this:

(services (cons* (xfce-desktop-service)
                 (bluetooth-service)
                 (append (modify-services %desktop-services …)
                         %my-services)))

Or you could change %my-services to work on %desktop-services and thus
remove the second “modify-services”.

--
Ricardo

PS: closing parentheses get lonely when they are on a line all by
themselves ;)


Reply via email to