From 17fdce75eceda5e16074ea56e1bdfd5535e90d4d Mon Sep 17 00:00:00 2001 From: Giacomo Leidi Date: Sun, 1 Jun 2025 12:34:24 +0200 Subject: gnu: Add home-gcr-ssh-agent-service-type. GNOME Keyring used to be able to act as a wrapper over ssh-agent. It would display a GUI password entry dialog, including a checkbox to remember the password, which, if selected, would allow fully passwordless use of that key. The SSH functionality is disabled by default in gnome-keyring-daemon builds since version 1.46 (commit 25c5a1982467802fa12c6852b03c57924553ba73). It has been moved (https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/67) into gcr-ssh-agent, which is part of the gcr package. * gnu/home/services/gnome.scm: New file. (gcr-ssh-agent-log-file,gcr-ssh-agent-shepherd-services): New public procedures. (gcr-ssh-agent-configuration): New configuration record. (home-gcr-ssh-agent-service-type): New service type. * gnu/local.mk: Add it. * doc/guix.texi: Document it. Change-Id: Idd3e40f544d40bb4c6682255f877cb79f0c70850 Signed-off-by: Maxim Cournoyer Reviewed-by: Dariqq Reviewed-by: Liliana Marie Prikler Modified-by: Maxim Cournoyer --- doc/guix.texi | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'doc') diff --git a/doc/guix.texi b/doc/guix.texi index 67156cbfa4f..a83219a9fd0 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -51897,6 +51897,50 @@ API. @end table @end deftp +@defvar home-gcr-ssh-agent-service-type + +GNOME Keyring used to be able to act as a wrapper over +@command{ssh-agent}. It would display a graphical password entry +dialog, including a checkbox to remember the password, which, if +selected, would allow fully passwordless use of that key. + +The SSH functionality is disabled by default in +@command{gnome-keyring-daemon} builds since version +@uref{https://gitlab.gnome.org/GNOME/gnome-keyring/-/commit25c5a1982467802fa12c6852b03c57924553ba73, +1.46}. It has been +@uref{https://gitlab.gnome.org/GNOME/gcr/-/merge_requests/67, moved} +into @command{gcr-ssh-agent}, which is part of the @code{gcr} package. + +To enable the SSH agent functionality it is sufficient to add the +following to your Home configuration. + +@lisp +(use-modules (gnu home services gnome) ;for 'home-gcr-ssh-agent-service-type' + @dots{}) + +(home-environment + (services + (list + @dots{} + (service home-gcr-ssh-agent-service-type)))) +@end lisp +@end defvar + +@deftp {Data Type} gcr-ssh-agent-configuration +The configuration record for @code{home-gcr-ssh-agent-service-type}. Its +available fields are: + +@table @asis +@item @code{package} (default: @code{gcr}) (type: package) +The @code{gcr} package to use. + +@item @code{log-file} (type: maybe-string) +Where the service will write its logs. If unset, it defaults to +@file{$HOME/.local/state/shepherd/gcr-ssh-agent.log}. + +@end table +@end deftp + @node Guix Home Services @subsection Guix Home Services -- cgit v1.3