[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61483: [PATCH 0/5] Some basic Home Shepherd Services
From: |
Janneke Nieuwenhuizen |
Subject: |
bug#61483: [PATCH 0/5] Some basic Home Shepherd Services |
Date: |
Fri, 17 Mar 2023 12:53:35 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Janneke Nieuwenhuizen writes:
Hi!
> Ludovic Courtès writes:
>
> Hi,
>
>> Janneke Nieuwenhuizen <janneke@gnu.org> skribis:
>>
>>> +@lisp
>>> +(environment-variables
>>> + '(("SSH_AUTH_SOCK"
>>> + .
>>> "$@{SSH_AUTH_SOCK-$@{XDG_RUNTIME_DIR-$HOME/.cache@}/ssh-agent/socket@}")))
>>> +@end lisp
>>
>> Maybe we should automate that by having ‘home-ssh-agent-service-type’
>> extend ‘home-environment-variables-service-type’? That way it’d work
>> out-of-the-box regardless of the shell being used.
>
> Oh that's a neat idea! Someone will have to figure out how to do that,
> later.
I've pushed the attached patch to take care of this. Pretty neat!
Closing this bug now, if we want to address the git-daemon "transform"
and #:user "git-daemon" issue better to open a new bug report.
Greetings,
Janneke
>From 2714c9ef2d6cb42f15c2f284449f602467f0d1c0 Mon Sep 17 00:00:00 2001
From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org>
Date: Fri, 17 Mar 2023 12:40:16 +0100
Subject: [PATCH] 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 @@ (define (home-ssh-agent-services config)
(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.")))
--
2.39.1
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
- [bug#61483] [PATCH 0/5] Some basic Home Shepherd Services, (continued)
[bug#61483] [PATCH 0/5] Some basic Home Shepherd Services, Ludovic Courtès, 2023/03/16