aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2025-04-21 10:02:36 +0900
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2025-04-22 11:35:23 +0900
commit367d071bbac1dd7a4a44cffcbf557c00515ec051 (patch)
treeac75bb48902871ebdbbef1374914b8277f941728
parent539066032a767ecd55de2e971577cae3aff0565c (diff)
downloadguix-367d071bbac1dd7a4a44cffcbf557c00515ec051.tar.gz
guix-367d071bbac1dd7a4a44cffcbf557c00515ec051.zip
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
-rw-r--r--gnu/services/herd.scm5
1 files changed, 4 insertions, 1 deletions
diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm
index c185fc2cec..92b2463b33 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