Subject: [bug#67819] [PATCH] services: xorg: dbus-daemon-wrapper handle guix home directory.

From: Feng Shu <[email-masked]>
Date: Thu, 14 Dec 2023 11:02:51 +0800

>From 1b8047ebb18d52923950f988adf612b251b39107 Mon Sep 17 00:00:00 2001

* gnu/services/xorg.scm (dbus-daemon-wrapper): Handle guix home directory.
---
 gnu/services/xorg.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 9235295dd6..56d3c737d9 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -987,6 +987,11 @@ (define user-profile
                 (lambda (pw)
                   (string-append (passwd:dir pw) "/.guix-profile"))))
 
+       (define guix-home-profile
+         (and=> (getpw (getuid))
+                (lambda (pw)
+                  (string-append (passwd:dir pw) "/.guix-home/profile"))))
+
        ;; If we are able to find the user's profile, we can add it to
        ;; the search paths set below.  We need to do this so that D-Bus
        ;; can start services installed by the user.  This allows
@@ -995,7 +1000,9 @@ (define user-profile
        ;; in the user's profile.  See <https://bugs.gnu.org/35267>.
        (define profiles
          (if user-profile
-             (list user-profile system-profile)
+             (if guix-home-profile
+                 (list user-profile guix-home-profile system-profile)
+                 (list user-profile system-profile))
              (list system-profile)))
 
        (setenv "XDG_CONFIG_DIRS"
-- 
2.39.2

--