Subject: Re: [bug#61982] [PATCH 1/2] home: services: xdg-base-directories: Set correct value for XDG_STATE_HOME.

From: Andrew Tropin <[email-masked]>
Date: Fri, 07 Apr 2023 10:43:50 +0400

On 2023-03-05 15:19, Bruno Victal wrote:

> XDG Base Directory Specification 0.8 officially introduces the
> XDG_STATE_HOME environment variable.
>
> Fixes <https://issues.guix.gnu.org/issue/61809>.
>
> * gnu/home/services/xdg.scm
> (home-xdg-base-directories-configuration)[state-home]: Set default value according to spec.
> Update field documentation.
> (home-xdg-base-directories-service-type): Update service description.
> ---
>  gnu/home/services/xdg.scm | 22 +++++++++++-----------
>  1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/gnu/home/services/xdg.scm b/gnu/home/services/xdg.scm
> index 3007493f85..ac557b4c3d 100644
> --- a/gnu/home/services/xdg.scm
> +++ b/gnu/home/services/xdg.scm
> @@ -104,11 +104,11 @@ (define-configuration home-xdg-base-directories-configuration
>  Specification, but helps to make implementation of home services more
>  consistent.")
>    (state-home
> -   (path "$HOME/.local/var/lib")
> -   "Base directory for programs to store state files, like databases,
> -analogus to @file{/var/lib}, but for user.  It is not a part of XDG
> -Base Directory Specification, but helps to make implementation of home
> -services more consistent."))
> +   (path "$HOME/.local/state")

Ironically enough, it was my first idea for default value :)

> +   "Base directory for programs to store state data that should persist
> +between (application) restarts, such as logs, but are not important or
> +portable enough to the user to warrant storing them in
> +@env{XDG_DATA_HOME}."))
>  
>  (define (home-xdg-base-directories-environment-variables-service config)
>    (map
> @@ -158,12 +158,12 @@ (define home-xdg-base-directories-service-type
>                  (compose identity)
>                  (extend last-extension-or-cfg)
>                  (description "Configure XDG base directories.  This
> -service introduces two additional variables @env{XDG_STATE_HOME},
> -@env{XDG_LOG_HOME}.  They are not a part of XDG specification, at
> -least yet, but are convenient to have, it improves the consistency
> -between different home services.  The services of this service-type is
> -instantiated by default, to provide non-default value, extend the
> -service-type (using @code{simple-service} for example).")))
> +service introduces an additional @env{XDG_LOG_HOME} variable.  It's not
> +a part of XDG specification, at least yet, but are convenient to have,
> +it improves the consistency between different home services.  The
> +services of this service-type is instantiated by default, to provide
> +non-default value, extend the service-type (using @code{simple-service}
> +for example).")))
>  
>  (define (generate-home-xdg-base-directories-documentation)
>    (generate-documentation
>
> base-commit: d92ec2f2812c76b23aab778e26708cf353542ae9

Applied and pushed the first patch as 
5c893787be78a79433fe1343f5b70cd647e8f667

Will think about the second one a little more and reply on that later.

-- 
Best regards,
Andrew Tropin