Subject: Re: [bug#76864] [PATCH] services: Integrate gnome-keyring service in gnome-desktop service.

From: Liliana Marie Prikler <[email-masked]>
Date: Sat, 08 Mar 2025 13:54:41 +0100

Am Samstag, dem 08.03.2025 um 21:41 +0900 schrieb Maxim Cournoyer:
> Previous to this change, GNOME users would have to manually add the
> gnome-keyring-service-type to their services to have a default login
> keyring created and unlocked at login time.  Some applications depend
> on a default keyring being available, prompt repeatedly for it, which
> is confusing and doesn't match user expectations, given most
> distributions use the GNOME keyring pam module to unlock the login
> keyring by default.
> 
> * doc/guix.texi (Desktop Services): Update doc.
> * gnu/services/desktop.scm (<gnome-keyring-configuration>): Move
> above
> gnome-desktop-service-type, and streamline description.
> (pam-gnome-keyring): Return the empty list when CONFIG is #f.
> (gnome-desktop-configuration) [gnome-keyring-configuration]: New
> field.
> 
> Change-Id: Ica26c1e1b85a038c1187edfb3ec3691fcd429641
> ---
SGTM

>  doc/guix.texi            |  12 +++-
>  gnu/services/desktop.scm | 125 +++++++++++++++++++++++--------------
> --
>  2 files changed, 83 insertions(+), 54 deletions(-)
> 
> diff --git a/doc/guix.texi b/doc/guix.texi
> index 6844470ce2..d5d08ece78 100644
> --- a/doc/guix.texi
> +++ b/doc/guix.texi
> @@ -49,7 +49,7 @@
>  Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@*
>  Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius
> Bakke@*
>  Copyright @copyright{} 2017, 2019, 2020, 2022 Hartmut Goebel@*
> -Copyright @copyright{} 2017, 2019, 2020, 2021, 2022, 2023, 2024
> Maxim Cournoyer@*
> +Copyright @copyright{} 2017, 2019--2025 Maxim Cournoyer@*
>  Copyright @copyright{} 2017–2022 Tobias Geerinckx-Rice@*
>  Copyright @copyright{} 2017 George Clemmer@*
>  Copyright @copyright{} 2017 Andy Wingo@*
> @@ -25649,6 +25649,12 @@ Desktop Services
>  package that should not be installed.  By default, every polkit rule
>  added by any package referenced in the other fields are installed.
>  
> +@item @code{gnome-keyring-configuration} (type: gnome-keyring-
> configuration-or-#f)
> +A <gnome-keyring-configuration> record used to better integrate the
> +GNOME keyring with the system.  Refer to the documentation of the
> +@code{gnome-keyring-service-type} for more information.  If you'd
> rather
> +avoid integrating the GNOME keyring, you can set this to @code{#f}.
> +
>  @end table
>  @end deftp
>  
> @@ -26666,7 +26672,9 @@ Desktop Services
>  @defvar gnome-keyring-service-type
>  This is the type of the service that adds the
>  @uref{https://wiki.gnome.org/Projects/GnomeKeyring, GNOME Keyring}. 
> Its
> -value is a @code{gnome-keyring-configuration} object (see below).
> +value is a @code{gnome-keyring-configuration} object (see below). 
> Note
> +that there is no need to use this service when using
> +@code{gnome-desktop-service-type}, which includes it.
>  
>  This service adds the @code{gnome-keyring} package to the system
> profile
>  and extends PAM with entries using @code{pam_gnome_keyring.so},
> unlocking
> diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
> index ee05bd98db..39a9da6384 100644
> --- a/gnu/services/desktop.scm
> +++ b/gnu/services/desktop.scm
> @@ -154,6 +154,7 @@ (define-module (gnu services desktop)
>              gnome-desktop-configuration-extra-packages
>              gnome-desktop-configuration-polkit-ignorelist
>              gnome-desktop-configuration-udev-ignorelist
> +            gnome-desktop-configuration-gnome-keyring-configuration
I would use a shorter name here.  Perhaps gnome-desktop-configuration-
keyring?

Cheers