unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#64399] [PATCH] installer: Restore LatGrkCyr-8x16 console font depending on language.
@ 2023-07-01 13:19 Denys Nykula
  2023-07-01 17:03 ` pelzflorian (Florian Pelz)
  2023-07-01 20:48 ` [bug#64399] [PATCH v2] " Denys Nykula
  0 siblings, 2 replies; 6+ messages in thread
From: Denys Nykula @ 2023-07-01 13:19 UTC (permalink / raw)
  To: 64399; +Cc: Denys Nykula

Partially-Fixes: <https://issues.guix.gnu.org/64006>

* gnu/installer/services.scm (system-services->configuration): When the
LANGUAGE environment variable matches a known native console font, wrap the
%desktop-services or %base-services with modify-services, configuring
console-font-service-type to set the native console font on every tty instead
of the default console font.
---
This makes console messages, such as errors and help texts, readable (like they
were in Guix System 1.4.0) if the user chooses the Belarusian, Bulgarian,
Greek, Esperanto, Kazakh, Kyrgyz, Macedonian, Mongolian, Russian, Serbian,
Tajik or Ukrainian language at the beginning of a new installation.  For other
languages, this keeps the default font, which is Unifont-APL8x16 in the latest
development snapshots.  Thanks to Florian Pelz and Josselin Poiret for tips
about editing the installer and testing it using a virtual machine.

 gnu/installer/services.scm | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm
index d08bab47fd..fb66f2248c 100644
--- a/gnu/installer/services.scm
+++ b/gnu/installer/services.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2023 Denys Nykula <vegan@libre.net.ua>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,6 +24,7 @@
 (define-module (gnu installer services)
   #:use-module (guix records)
   #:use-module (guix read-print)
+  #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
   #:export (system-service?
             system-service-name
@@ -156,9 +158,22 @@ (define (system-services->configuration services)
   (let* ((snippets (append-map system-service-snippet services))
          (packages (append-map system-service-packages services))
          (desktop? (find desktop-system-service? services))
-         (base     (if desktop?
-                       '%desktop-services
-                       '%base-services))
+         (base-with-default-console-font (if desktop?
+					     '%desktop-services
+					     '%base-services))
+	 (native-console-font (match (getenv "LANGUAGE")
+				((or "be" "bg" "el" "eo" "kk" "ky"
+				     "mk" "mn" "ru" "sr" "tg" "uk")
+				 "LatGrkCyr-8x16.psfu.gz")
+				(_ #f)))
+	 (base (if native-console-font
+		   `(modify-services
+		     ,base-with-default-console-font
+		     (console-font-service-type
+		      config => (map (lambda (tty)
+				       (cons (car tty) ,native-console-font))
+				     config)))
+		   base-with-default-console-font))
          (service-heading (list (vertical-space 1)
                                 (comment (G_ "\
 ;; Below is the list of system services.  To search for available

base-commit: b24a05830d11e3011eee4bc5f60a41e26188cde1
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-07-06 14:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-01 13:19 [bug#64399] [PATCH] installer: Restore LatGrkCyr-8x16 console font depending on language Denys Nykula
2023-07-01 17:03 ` pelzflorian (Florian Pelz)
2023-07-01 20:48 ` [bug#64399] [PATCH v2] " Denys Nykula
2023-07-05 19:55   ` pelzflorian (Florian Pelz)
2023-07-06  8:56     ` Josselin Poiret via Guix-patches via
2023-07-06 14:27       ` pelzflorian (Florian Pelz)

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).