installer: Call setlocale after init gettext.
[jackhill/guix/guix.git] / gnu / installer.scm
index d2b7fc3..f401b24 100644 (file)
@@ -71,7 +71,7 @@
     (_ #f)))
 
 (define* (build-compiled-file name locale-builder)
-  "Return a file-like object that evalutes the gexp LOCALE-BUILDER and store
+  "Return a file-like object that evaluates the gexp LOCALE-BUILDER and store
 its result in the scheme file NAME. The derivation will also build a compiled
 version of this file."
   (define set-utf8-locale
@@ -118,9 +118,8 @@ version of this file."
         ;; printed on the console.
         (parameterize ((shepherd-message-port
                         (%make-void-port "w")))
-          (lambda ()
-            (stop-service 'term-tty2)
-            (start-service 'term-tty2 (list locale)))))))
+          (stop-service 'term-tty2)
+          (start-service 'term-tty2 (list locale))))))
 
 (define* (compute-locale-step #:key
                               locales-name
@@ -302,25 +301,6 @@ selected keymap."
              ((installer-final-page current-installer)
               result prev-steps))))))))
 
-(define guile-newt
-  ;; Guile-Newt with 'form-watch-fd'.
-  ;; TODO: Remove once a new release is out.
-  (let ((commit "c3cdeb0b53ac71aedabee669f57d44563c662446")
-        (revision "2"))
-    (package
-      (inherit (@ (gnu packages guile-xyz) guile-newt))
-      (name "guile-newt")
-      (version (git-version "0.0.1" revision commit))
-      (source  (origin
-                 (method git-fetch)
-                 (uri (git-reference
-                       (url "https://gitlab.com/mothacehe/guile-newt")
-                       (commit commit)))
-                 (file-name (git-file-name name version))
-                 (sha256
-                  (base32
-                   "1gksd1lzgjjh1p9vczghg8jw995d22hm34kbsiv8rcryirv2xy09")))))))
-
 (define (installer-program)
   "Return a file-like object that runs the given INSTALLER."
   (define init-gettext
@@ -328,23 +308,26 @@ selected keymap."
     ;; translated.
     #~(begin
         (bindtextdomain "guix" (string-append #$guix "/share/locale"))
-        (textdomain "guix")))
+        (textdomain "guix")
+        (setlocale LC_ALL "")))
 
   (define set-installer-path
     ;; Add the specified binary to PATH for later use by the installer.
     #~(let* ((inputs
-              '#$(append (list bash ;start subshells
-                               connman ;call connmanctl
-                               cryptsetup
-                               dosfstools ;mkfs.fat
-                               e2fsprogs ;mkfs.ext4
-                               btrfs-progs ;mkfs.btrfs
-                               jfsutils ;jfs_mkfs
-                               kbd ;chvt
-                               guix ;guix system init call
-                               util-linux ;mkwap
-                               shadow)
-                         (map canonical-package (list coreutils)))))
+              '#$(list bash ;start subshells
+                       connman ;call connmanctl
+                       cryptsetup
+                       dosfstools ;mkfs.fat
+                       e2fsprogs ;mkfs.ext4
+                       lvm2-static ;dmsetup
+                       btrfs-progs
+                       jfsutils ;jfs_mkfs
+                       ntfs-3g ;mkfs.ntfs
+                       kbd ;chvt
+                       guix ;guix system init call
+                       util-linux ;mkwap
+                       shadow
+                       coreutils)))
         (with-output-to-port (%make-void-port "w")
           (lambda ()
             (set-path-environment-variable "PATH" '("bin" "sbin") inputs)))))
@@ -378,6 +361,7 @@ selected keymap."
                          (gnu installer services)
                          (gnu installer timezone)
                          (gnu installer user)
+                         (gnu installer utils)
                          (gnu installer newt)
                          ((gnu installer newt keymap)
                           #:select (keyboard-layout->configuration))
@@ -459,5 +443,6 @@ selected keymap."
        ;; some reason, unicode support is not correctly installed
        ;; when calling this in 'installer-builder'.
        (setenv "LANG" "en_US.UTF-8")
-       (execl #$(program-file "installer-real" installer-builder)
+       (execl #$(program-file "installer-real" installer-builder
+                              #:guile guile-3.0-latest)
               "installer-real"))))