aboutsummaryrefslogtreecommitdiffstats
path: root/oni/home/services
diff options
context:
space:
mode:
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.")))