]> git.ekhem.eu.org Git - guix.git/commitdiff
[home] Run a compositor as a shepherd service.
authorJakub Czajka <jakub@ekhem.eu.org>
Fri, 23 Dec 2022 19:32:26 +0000 (20:32 +0100)
committerJakub Czajka <jczajka@google.com>
Sun, 24 Dec 2023 18:53:07 +0000 (19:53 +0100)
conf/home/xcompmgr.scm [new file with mode: 0644]

diff --git a/conf/home/xcompmgr.scm b/conf/home/xcompmgr.scm
new file mode 100644 (file)
index 0000000..222fa46
--- /dev/null
@@ -0,0 +1,32 @@
+;; Copyright (c) 2022 Jakub Czajka <jakub@ekhem.eu.org>
+;; License: GPL-3.0 or later.
+;;
+;; xcompmgr.scm - shepherd service for xcompmgr.
+
+(define-module (conf home xcompmgr)
+  #:use-module (gnu home services shepherd)
+  #:use-module (gnu packages xorg)
+  #:use-module (gnu services)
+  #:use-module (guix gexp)
+  #:use-module (guix licenses)
+  #:use-module (guix packages)
+  #:export (xcompmgr-service))
+
+(define xcompmgr-shepherd-service
+  (shepherd-service
+   (provision '(xcompmgr))
+   (start #~(make-forkexec-constructor
+            (list #$(file-append xcompmgr "/bin/xcompmgr"))
+              #:directory
+              (getenv "HOME")
+              #:log-file
+              (string-append (getenv "XDG_LOG_HOME")
+                             "/xcompmgr.log")))
+   (stop #~(make-kill-destructor))
+   (documentation "Shepherd service which runs `xcompmgr` - a simple
+compositor.")))
+
+(define xcompmgr-service
+  (simple-service 'xcompmgr-service
+                 home-shepherd-service-type
+                 (list xcompmgr-shepherd-service)))