From 367d071bbac1dd7a4a44cffcbf557c00515ec051 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 21 Apr 2025 10:02:36 +0900 Subject: [PATCH] services: herd: Use a smarter default for %shepherd-socket-file. This makes it possible to use it for the privileged (root) user as well as an unprivileged user. * gnu/services/herd.scm (%shepherd-socket-file): Use /run/user/$uid/shepherd/socket when using an unprivileged user. Change-Id: I62cf358ffc233aba61cc64235c4b67c4fc944d2e --- gnu/services/herd.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm index c185fc2cec0..92b2463b337 100644 --- a/gnu/services/herd.scm +++ b/gnu/services/herd.scm @@ -74,7 +74,10 @@ ;;; Code: (define %shepherd-socket-file - (make-parameter "/var/run/shepherd/socket")) + (let ((uid (getuid))) + (make-parameter (if (zero? uid) ;root + "/var/run/shepherd/socket" + (format #f "/run/user/~a/shepherd/socket" uid))))) (define* (open-connection #:optional (file (%shepherd-socket-file))) "Open a connection to the daemon, using the Unix-domain socket at FILE, and