--- Begin Message ---
Subject: |
[PATCH] home: 'home-environment-with-provenance' uses the HE location info. |
Date: |
Sun, 19 Mar 2023 16:45:37 +0100 |
* gnu/home.scm (home-environment-with-provenance): Make `config-file`
optional, with the default taken from the HE location info.
---
gnu/home.scm | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/gnu/home.scm b/gnu/home.scm
index 6d3f705758..2fefe7ba53 100644
--- a/gnu/home.scm
+++ b/gnu/home.scm
@@ -103,7 +103,21 @@ (define* (home-environment-derivation he)
#:target-type home-service-type)))
(service-value home)))
-(define* (home-environment-with-provenance he config-file)
+
+(define (home-environment-configuration-file he)
+ "Return the configuration file of HE, based on its 'location' field, or #f
+if it could not be determined."
+ (let ((file (and=> (home-environment-location he)
+ location-file)))
+ (and file
+ (or (and (string-prefix? "/" file) file)
+ (search-path %load-path file)))))
+
+(define* (home-environment-with-provenance he
+ #:optional
+ (config-file
+
(home-environment-configuration-file
+ he)))
"Return a variant of HE that stores its own provenance information,
including CONFIG-FILE, if available. This is achieved by adding an instance
of HOME-PROVENANCE-SERVICE-TYPE to its services."
--
2.39.2
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug#62274] [PATCH] home: 'home-environment-with-provenance' uses the HE location info. |
Date: |
Mon, 20 Mar 2023 10:52:55 +0400 |
On 2023-03-19 16:45, Sergey Trofimov wrote:
> * gnu/home.scm (home-environment-with-provenance): Make `config-file`
> optional, with the default taken from the HE location info.
> ---
> gnu/home.scm | 16 +++++++++++++++-
> 1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/gnu/home.scm b/gnu/home.scm
> index 6d3f705758..2fefe7ba53 100644
> --- a/gnu/home.scm
> +++ b/gnu/home.scm
> @@ -103,7 +103,21 @@ (define* (home-environment-derivation he)
> #:target-type home-service-type)))
> (service-value home)))
>
> -(define* (home-environment-with-provenance he config-file)
> +
> +(define (home-environment-configuration-file he)
> + "Return the configuration file of HE, based on its 'location' field, or #f
> +if it could not be determined."
> + (let ((file (and=> (home-environment-location he)
> + location-file)))
> + (and file
> + (or (and (string-prefix? "/" file) file)
> + (search-path %load-path file)))))
> +
> +(define* (home-environment-with-provenance he
> + #:optional
> + (config-file
> +
> (home-environment-configuration-file
> + he)))
> "Return a variant of HE that stores its own provenance information,
> including CONFIG-FILE, if available. This is achieved by adding an instance
> of HOME-PROVENANCE-SERVICE-TYPE to its services."
Thank you for the patch, applied and pushed as
1f36534c7e8f2325bff4df5d37ecc811dc63fc38.
--
Best regards,
Andrew Tropin
signature.asc
Description: PGP signature
--- End Message ---