home: xdg: Skip mkdir XDG_RUNTIME_DIR in activation script.
authorAndrew Tropin <andrew@trop.in>
Tue, 2 Aug 2022 05:00:21 +0000 (08:00 +0300)
committerLudovic Courtès <ludo@gnu.org>
Fri, 5 Aug 2022 13:28:02 +0000 (15:28 +0200)
* gnu/home/services/xdg.scm (ensure-xdg-base-dirs-on-activation): Skip mkdir
XDG_RUNTIME_DIR in activation script.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu/home/services/xdg.scm

index 04cf9d0..63c6041 100644 (file)
@@ -110,12 +110,18 @@ services more consistent."))
            ((@ (guix build utils) mkdir-p)
             (getenv
              xdg-base-dir-variable)))
-         '#$(map (lambda (field)
-                   (format
-                    #f "XDG_~a"
-                    (object->snake-case-string
-                     (configuration-field-name field) 'upper)))
-                 home-xdg-base-directories-configuration-fields)))
+         '#$(filter-map
+             (lambda (field)
+               (let ((variable
+                      (string-append
+                       "XDG_"
+                       (object->snake-case-string
+                        (configuration-field-name field) 'upper))))
+                 ;; XDG_RUNTIME_DIR shouldn't be created during activation
+                 ;; and will be provided by elogind or other service.
+                 (and (not (string=? "XDG_RUNTIME_DIR" variable))
+                      variable)))
+             home-xdg-base-directories-configuration-fields)))
 
 (define (last-extension-or-cfg config extensions)
   "Picks configuration value from last provided extension.  If there