aboutsummaryrefslogtreecommitdiffstats
path: root/oni/home/services
diff options
context:
space:
mode:
authorGravatar Tom Willemse2022-04-05 01:30:08 -0700
committerGravatar Tom Willemse2022-04-05 01:30:08 -0700
commit67c4a901a3f861522d4efa27d0e8ead958f29a6b (patch)
treed0b1676223d6dc9d1ea71cac9cd31403cb6d6d34 /oni/home/services
parent7f5381687d106e8b5c7b571154a771e2f2998e3e (diff)
downloadnew-dotfiles-67c4a901a3f861522d4efa27d0e8ead958f29a6b.tar.gz
new-dotfiles-67c4a901a3f861522d4efa27d0e8ead958f29a6b.zip
Add xsession configuration
Diffstat (limited to 'oni/home/services')
-rw-r--r--oni/home/services/xsession.scm31
1 files changed, 31 insertions, 0 deletions
diff --git a/oni/home/services/xsession.scm b/oni/home/services/xsession.scm
new file mode 100644
index 0000000..308106e
--- /dev/null
+++ b/oni/home/services/xsession.scm
@@ -0,0 +1,31 @@
+(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.")))