home: services: unclutter: Inherit $DISPLAY.

* gnu/home/services/desktop.scm: Add DISPLAY to the list of environment
variables passed to 'home-unclutter-service-type'. Change
'make-forkexec-construstor' to 'fork+exec-command' as the former did not seem to
pick up the newly defined environment variable. Add 'x11-display' as a
requirement. These changes are consistent to how things are done in
'home-redshift-service-type'.

Change-Id: Ie8b88b30353e76139d354da27aef791036eaa5a0
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Fabio Natali 2024-10-13 12:45:29 +01:00 committed by Ludovic Courtès
parent 8ff33c398a
commit b0e3121495
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -349,9 +349,14 @@ according to time of day.")))
(list (list
(shepherd-service (shepherd-service
(provision '(unclutter)) (provision '(unclutter))
(requirement '()) ;; Depend on 'x11-display', which sets 'DISPLAY' if an X11 server is
;; available, and fails to start otherwise.
(requirement '(x11-display))
(modules '((srfi srfi-1)
(srfi srfi-26)))
(one-shot? #t) (one-shot? #t)
(start #~(make-forkexec-constructor (start #~(lambda _
(fork+exec-command
(list (list
#$(file-append #$(file-append
(home-unclutter-configuration-unclutter config) (home-unclutter-configuration-unclutter config)
@ -359,11 +364,16 @@ according to time of day.")))
"-idle" "-idle"
(number->string (number->string
#$(home-unclutter-configuration-idle-timeout config))) #$(home-unclutter-configuration-idle-timeout config)))
;; Inherit the 'DISPLAY' variable set by 'x11-display'.
#:environment-variables
(cons (string-append "DISPLAY=" (getenv "DISPLAY"))
(remove (cut string-prefix? "DISPLAY=" <>)
(default-environment-variables)))
#:log-file (string-append #:log-file (string-append
(or (getenv "XDG_STATE_HOME") (or (getenv "XDG_STATE_HOME")
(format #f "~a/.local/state" (format #f "~a/.local/state"
(getenv "HOME"))) (getenv "HOME")))
"/log/unclutter.log")))))) "/log/unclutter.log")))))))
(define home-unclutter-service-type (define home-unclutter-service-type
(service-type (service-type