32 lines
909 B
Scheme
32 lines
909 B
Scheme
|
(define-module (oni home services xsession)
|
||
|
#:use-module (gnu services configuration)
|
||
|
#:use-module (gnu home services)
|
||
|
#:use-module (gnu home services utils)
|
||
|
#:use-module (guix packages)
|
||
|
#:use-module (guix gexp)
|
||
|
|
||
|
#:export (home-xsession-service-type
|
||
|
home-xsession-configuration))
|
||
|
|
||
|
(define-configuration/no-serialization home-xsession-configuration
|
||
|
(configuration
|
||
|
(text-config '())
|
||
|
"Configuration"))
|
||
|
|
||
|
(define (xsession-home-files config)
|
||
|
`(("xsession"
|
||
|
,(mixed-text-file
|
||
|
"xsession"
|
||
|
(string-join (home-xsession-configuration-configuration config) "\n")))))
|
||
|
|
||
|
(define home-xsession-service-type
|
||
|
(service-type
|
||
|
(name 'home-xsession)
|
||
|
(extensions
|
||
|
(list (service-extension
|
||
|
home-files-service-type
|
||
|
xsession-home-files)))
|
||
|
(compose identity)
|
||
|
(default-value (home-xsession-configuration))
|
||
|
(description "Configure xsession.")))
|