summary refs log tree commit diff
path: root/nixos/modules/system/boot/loader/grub/install-grub.pl
diff options
context:
space:
mode:
authorBenjamin Staffin <benley@gmail.com>2017-06-10 09:53:24 -0400
committerGitHub <noreply@github.com>2017-06-10 09:53:24 -0400
commit700e22f7bf8ca96741c2eb8fe13cf15bc6e67daa (patch)
treec78c04a01f89884227e99f13d004f2d0a8fc3042 /nixos/modules/system/boot/loader/grub/install-grub.pl
parent1fe951816c144a8ed3a900357c539e28818f8b41 (diff)
downloadnixlib-700e22f7bf8ca96741c2eb8fe13cf15bc6e67daa.tar
nixlib-700e22f7bf8ca96741c2eb8fe13cf15bc6e67daa.tar.gz
nixlib-700e22f7bf8ca96741c2eb8fe13cf15bc6e67daa.tar.bz2
nixlib-700e22f7bf8ca96741c2eb8fe13cf15bc6e67daa.tar.lz
nixlib-700e22f7bf8ca96741c2eb8fe13cf15bc6e67daa.tar.xz
nixlib-700e22f7bf8ca96741c2eb8fe13cf15bc6e67daa.tar.zst
nixlib-700e22f7bf8ca96741c2eb8fe13cf15bc6e67daa.zip
nixos: Add support for scalable fonts in Grub menus (#26227)
The default font is unreadably small on some hidpi displays. This
makes it possible to specify a TrueType or OpenType font at any point
size, and it will automatically be converted to the format the Grub
uses.
Diffstat (limited to 'nixos/modules/system/boot/loader/grub/install-grub.pl')
-rw-r--r--nixos/modules/system/boot/loader/grub/install-grub.pl6
1 files changed, 5 insertions, 1 deletions
diff --git a/nixos/modules/system/boot/loader/grub/install-grub.pl b/nixos/modules/system/boot/loader/grub/install-grub.pl
index 5fcac5c8c6a4..1edb9e0d229b 100644
--- a/nixos/modules/system/boot/loader/grub/install-grub.pl
+++ b/nixos/modules/system/boot/loader/grub/install-grub.pl
@@ -67,6 +67,7 @@ my $gfxmodeEfi = get("gfxmodeEfi");
 my $gfxmodeBios = get("gfxmodeBios");
 my $bootloaderId = get("bootloaderId");
 my $forceInstall = get("forceInstall");
+my $font = get("font");
 $ENV{'PATH'} = get("path");
 
 die "unsupported GRUB version\n" if $grubVersion != 1 && $grubVersion != 2;
@@ -281,7 +282,7 @@ else {
           insmod vbe
         fi
         insmod font
-        if loadfont " . $grubBoot->path . "/grub/fonts/unicode.pf2; then
+        if loadfont " . $grubBoot->path . "/converted-font.pf2; then
           insmod gfxterm
           if [ \"\${grub_platform}\" = \"efi\" ]; then
             set gfxmode=$gfxmodeEfi
@@ -294,6 +295,9 @@ else {
         fi
     ";
 
+    if ($font) {
+        copy $font, "$bootPath/converted-font.pf2" or die "cannot copy $font to $bootPath\n";
+    }
     if ($splashImage) {
         # FIXME: GRUB 1.97 doesn't resize the background image if it
         # doesn't match the video resolution.