~ruther/guix-local

1f36534c7e8f2325bff4df5d37ecc811dc63fc38 — Sergey Trofimov 3 years ago d429ff1
home: 'home-environment-with-provenance' uses the HE location info.

* gnu/home.scm (home-environment-with-provenance): Make `config-file`
optional, with the default taken from the HE location info.

Signed-off-by: Andrew Tropin <andrew@trop.in>
1 files changed, 15 insertions(+), 1 deletions(-)

M gnu/home.scm
M gnu/home.scm => gnu/home.scm +15 -1
@@ 103,7 103,21 @@
                              #: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."