nixos/terminfo: Fix less in systemd stage 1 (#511313)

This commit is contained in:
nikstur
2026-04-22 06:53:24 +00:00
committed by GitHub
3 changed files with 34 additions and 0 deletions
+11
View File
@@ -66,6 +66,17 @@
source = "${config.system.path}/share/terminfo";
};
boot.initrd.systemd.contents = lib.listToAttrs (
lib.map
(ti: lib.nameValuePair "/etc/terminfo/${ti}" { source = "${pkgs.ncurses}/share/terminfo/${ti}"; })
[
"l/linux"
"v/vt100"
"v/vt102"
"v/vt220"
]
);
environment.profileRelativeSessionVariables = {
TERMINFO_DIRS = [ "/share/terminfo" ];
};
+1
View File
@@ -1590,6 +1590,7 @@ in
};
systemd-initrd-simple = runTest ./systemd-initrd-simple.nix;
systemd-initrd-swraid = runTest ./systemd-initrd-swraid.nix;
systemd-initrd-terminfo = runTest ./systemd-initrd-terminfo.nix;
systemd-initrd-vconsole = runTest ./systemd-initrd-vconsole.nix;
systemd-initrd-vlan = runTest ./systemd-initrd-vlan.nix;
systemd-journal = runTest ./systemd-journal.nix;
+22
View File
@@ -0,0 +1,22 @@
{ lib, ... }:
{
name = "systemd-initrd-terminfo";
meta.maintainers = [ lib.maintainers.elvishjerricco ];
nodes.machine =
{ config, ... }:
{
boot.initrd.systemd = {
enable = true;
extraBin.script = "${config.boot.initrd.systemd.package.util-linux}/bin/script";
};
testing.initrdBackdoor = true;
};
testScript = ''
machine.wait_for_unit("initrd.target")
rc, out = machine.execute("echo q | script -q -e -c 'yes | less' /dev/null")
assert "terminals database is inaccessible" not in out
'';
}