summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorDenys Nykula <vegan@libre.net.ua>2023-07-01 23:48:11 +0300
committerFlorian Pelz <pelzflorian@pelzflorian.de>2023-07-06 15:38:58 +0200
commit961ffca1c75141cbb351d143b22b673638e9659d (patch)
treea02f93ac1641c9b7f0c0294627bb5be88f4bb23e /gnu
parent2426e51688d479042ea115a634c6be2d8b9f3b99 (diff)
downloadguix-961ffca1c75141cbb351d143b22b673638e9659d.tar.gz
installer: Restore LatGrkCyr-8x16 console font depending on language.
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
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.

Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/installer/services.scm19
1 files changed, 17 insertions, 2 deletions
diff --git a/gnu/installer/services.scm b/gnu/installer/services.scm
index d08bab47fd..4dfed78785 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
@@ -159,6 +161,19 @@
          (base     (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")
+                                (_ #f)))
+         (services (if native-console-font
+                       `(modify-services ,base
+                          (console-font-service-type
+                           config => (map (lambda (tty)
+                                            (cons (car tty)
+                                                  ,native-console-font))
+                                          config)))
+                       base))
          (service-heading (list (vertical-space 1)
                                 (comment (G_ "\
 ;; Below is the list of system services.  To search for available
@@ -177,7 +192,7 @@
                                     %base-packages))))
 
           ,@service-heading
-          (services ,base))
+          (services ,services))
         `(,@(if (null? packages)
                 '()
                 `(,@package-heading
@@ -199,4 +214,4 @@
                             ,(comment (G_ "\
 ;; This is the default list of services we
 ;; are appending to.\n"))
-                            ,base))))))
+                            ,services))))))