On 10 August 2015 at 23:16, Thompson, David <dthompson2@worcester.edu> wrote:
I believe this is because the return value of
'xorg-configuration-file' is a monadic value, and thus it needs to
"unwrapped" in order to pass the configuration file to
'xorg-start-command'.

Try this:

    (mlet %store-monad ((config
                         (xorg-configuration-file #:drivers '("radeon" "vesa")
                                                  #:resolutions '((1366 768)
                                                                  (1024 768)))))
      (slim-service #:startx (xorg-start-command #:configuration-file config)))
 
I've found another possible solution:

https://lists.gnu.org/archive/html/guix-devel/2015-05/msg00395.html

  (define input-class
    "Section \"InputClass" ...")

  (define (my-slim-service)
    (mlet %store-monad ((config (xorg-configuration-file
                                 #:extra-config (list input-class)))
                        (startx (xorg-start-command
                                 #:configuration-file config)))
      (slim-service #:startx startx)))

  (operating-system
    ;; ...
    (services (cons (my-slim-service) ...)))

I'll try it later.

Dmitry