guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: home: services: ssh-agent: Handle setting of SSH_


From: guix-commits
Subject: branch master updated: home: services: ssh-agent: Handle setting of SSH_AUTH_SOCK.
Date: Fri, 17 Mar 2023 07:53:27 -0400

This is an automated email from the git hooks/post-receive script.

janneke pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
     new 2714c9ef2d home: services: ssh-agent: Handle setting of SSH_AUTH_SOCK.
2714c9ef2d is described below

commit 2714c9ef2d6cb42f15c2f284449f602467f0d1c0
Author: Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Fri Mar 17 12:40:16 2023 +0100

    home: services: ssh-agent: Handle setting of SSH_AUTH_SOCK.
    
    * gnu/home/services/ssh.scm (home-ssh-agent-environment-variables): New
    procedure.
    (home-ssh-agent-service-type): Use it as ahome-environment-service type
    extension.
    * doc/guix.texi (Secure Shell): Remove advice about, and examples of setting
    SSH_AUTH_SOCK.
---
 doc/guix.texi             | 17 -----------------
 gnu/home/services/ssh.scm |  8 +++++++-
 2 files changed, 7 insertions(+), 18 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 4807f16c0a..2d42ca8de2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -42473,23 +42473,6 @@ machines using the @acronym{SSH, secure shell} 
protocol.  With the
 @code{(gnu home services ssh-agent)} service, you can configure the
 OpenSSH ssh-agent to run upon login.
 
-When using the @code{home-ssh-agent-service-type}, you need to add your
-@file{~/.bash_profile}:
-
-@example
-SSH_AUTH_SOCK=$@{XDG_RUNTIME_DIR-$HOME/.cache@}/ssh-agent/socket
-export SSH_AUTH_SOCK
-@end example
-
-Of course, you can do that using the @code{home-bash-service-type}, by
-adding something like:
-
-@lisp
-(environment-variables
- '(("SSH_AUTH_SOCK"
- . "$@{SSH_AUTH_SOCK-$@{XDG_RUNTIME_DIR-$HOME/.cache@}/ssh-agent/socket@}")))
-@end lisp
-
 Here is an example of a service and its configuration that you could add
 to the @code{services} field of your @code{home-environment}:
 
diff --git a/gnu/home/services/ssh.scm b/gnu/home/services/ssh.scm
index dc37ecf329..01917a29cd 100644
--- a/gnu/home/services/ssh.scm
+++ b/gnu/home/services/ssh.scm
@@ -295,12 +295,18 @@ client,@command{ssh}, and by other tools such as 
@command{guix deploy}.")
                         (fork+exec-command #$command #:log-file #$log-file)))
              (stop #~(make-kill-destructor)))))))
 
+(define (home-ssh-agent-environment-variables config)
+  '(("SSH_AUTH_SOCK"
+     . "${SSH_AUTH_SOCK-${XDG_RUNTIME_DIR-$HOME/.cache}/ssh-agent/socket}")))
+
 (define home-ssh-agent-service-type
   (service-type
    (name 'home-ssh-agent)
    (default-value (home-ssh-agent-configuration))
    (extensions
     (list (service-extension home-shepherd-service-type
-                             home-ssh-agent-services)))
+                             home-ssh-agent-services)
+          (service-extension home-environment-variables-service-type
+                             home-ssh-agent-environment-variables)))
    (description
     "Install and configure @command{ssh-agent} as a Shepherd service.")))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]