diff mbox series

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

Message ID 3005f8a58ec5afc447f2baf40958956bd0d16099.1678029530.git.mirai@makinata.eu
State New
Headers show
Series Respect XDG Base Directory Specification 0.8. | expand

Commit Message

Bruno Victal March 5, 2023, 3:19 p.m. UTC
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(-)


base-commit: d92ec2f2812c76b23aab778e26708cf353542ae9

Comments

Andrew Tropin April 7, 2023, 6:43 a.m. UTC | #1
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.
Ludovic Courtès June 9, 2023, 9:01 p.m. UTC | #2
Hi Andrew,

Andrew Tropin <andrew@trop.in> skribis:

> Applied and pushed the first patch as 
> 5c893787be78a79433fe1343f5b70cd647e8f667
>
> Will think about the second one a little more and reply on that later.

Could you take a look and apply it or close the issue?

Thanks in advance,
Ludo’.
Andrew Tropin June 14, 2023, 9:27 a.m. UTC | #3
On 2023-06-09 23:01, Ludovic Courtès wrote:

> Hi Andrew,
>
> Andrew Tropin <andrew@trop.in> skribis:
>
>> Applied and pushed the first patch as 
>> 5c893787be78a79433fe1343f5b70cd647e8f667
>>
>> Will think about the second one a little more and reply on that later.
>
> Could you take a look and apply it or close the issue?

Sure, added this thread to my agenda for this week.
diff mbox series

Patch

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")
+   "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