summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrew Tropin <andrew@trop.in>2022-04-12 12:19:50 +0300
committerAndrew Tropin <andrew@trop.in>2022-09-12 08:43:08 +0300
commit70d58d1556fb1d16d674cf697bba1c5ce9c1767c (patch)
tree1451ecef20baa0cb8bc3da0a4da4a6db397c26ce
parente3ed1d09f9d490eff6becd6e9cb85a4d36c48e85 (diff)
downloadguix-70d58d1556fb1d16d674cf697bba1c5ce9c1767c.tar.gz
home: shepherd: Add shepherd/init.scm to XDG_CONFIG_HOME.
* gnu/home/services/shepherd.scm (shepherd-xdg-configuration-files):
New variable.
(home-shepherd-service-type)[extensions]:
Add HOME-XDG-CONFIGURATION-FILES-SERVICE-TYPE extension.
-rw-r--r--gnu/home/services/shepherd.scm9
1 files changed, 9 insertions, 0 deletions
diff --git a/gnu/home/services/shepherd.scm b/gnu/home/services/shepherd.scm
index 62ab0aadc6..fcc7763a61 100644
--- a/gnu/home/services/shepherd.scm
+++ b/gnu/home/services/shepherd.scm
@@ -130,6 +130,12 @@ as shepherd package."
         #$(reload-configuration-gexp config)
         #$(launch-shepherd-gexp config)))
 
+(define (shepherd-xdg-configuration-files config)
+  (let* ((shepherd (home-shepherd-configuration-shepherd config))
+         (services (home-shepherd-configuration-services config)))
+    `(("shepherd/init.scm"
+       ,(home-shepherd-configuration-file services shepherd)))))
+
 (define-public home-shepherd-service-type
   (service-type (name 'home-shepherd)
                 (extensions
@@ -137,6 +143,9 @@ as shepherd package."
                         home-run-on-first-login-service-type
                         launch-shepherd-gexp)
                        (service-extension
+                        home-xdg-configuration-files-service-type
+                        shepherd-xdg-configuration-files)
+                       (service-extension
                         home-activation-service-type
                         ensure-shepherd-gexp)
                        (service-extension