diff options
Diffstat (limited to 'guix/self.scm')
-rw-r--r-- | guix/self.scm | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/guix/self.scm b/guix/self.scm index a45470a0a6..ccff9be5b3 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -390,6 +390,10 @@ that provide Guile modules." guile (guile-version (effective-version))) "Return the 'guix' command such that it adds MODULES and DEPENDENCIES in its load path." + (define glibc-utf8-locales + (module-ref (resolve-interface '(gnu packages base)) + 'glibc-utf8-locales)) + (define module-directory ;; To minimize the number of 'stat' calls needed to locate a module, ;; create the union of all the module directories. @@ -410,6 +414,16 @@ load path." "/site-ccache") %load-compiled-path)) + ;; To maximize the chances that locales are set up right + ;; out-of-the-box, bundle "common" UTF-8 locales. + (let ((locpath (getenv "GUIX_LOCPATH"))) + (setenv "GUIX_LOCPATH" + (string-append (if locpath + (string-append locpath ":") + "") + #$(file-append glibc-utf8-locales + "/lib/locale")))) + (let ((guix-main (module-ref (resolve-interface '(guix ui)) 'guix-main))) #$(if source @@ -757,7 +771,7 @@ Info manual." ((_ variable rest ...) (cons `(variable . ,variable) (variables rest ...)))))) - (variables %localstatedir %storedir %sysconfdir %system))) + (variables %localstatedir %storedir %sysconfdir))) (define* (make-config.scm #:key zlib gzip xz bzip2 (package-name "GNU Guix") @@ -775,6 +789,7 @@ Info manual." %guix-version %guix-bug-report-address %guix-home-page-url + %system %store-directory %state-directory %store-database-directory @@ -784,6 +799,9 @@ Info manual." %bzip2 %xz)) + (define %system + #$(%current-system)) + #$@(map (match-lambda ((name . value) #~(define-public #$name #$value))) |