fix(nixos): install terminfo only for terminals in use

environment.enableAllTerminfo installs every terminal's terminfo, including rxvt-unicode, which no longer builds with GCC 16 (NixOS/nixpkgs#568896). Install just the terminals we use (alacritty, foot, ghostty, kitty) instead. This also makes the aarch64 jasper workaround unnecessary.
This commit is contained in:
Ryan Yin committed 2026-10-03 00:14:00 +08:00
1 parent 8b13ab2ae2
commit facf33615e
2 files changed
+11 -7

No files matched your search

+11 -3
View File
@@ -1,4 +1,4 @@
{ lib, ... }:
{ lib, pkgs, ... }:
{
# Secure by default: firewall ON everywhere. Servers run the same shared
# firewall (modules/nixos/base/networking/firewall.nix) as every other host,
@@ -18,7 +18,15 @@
openFirewall = true;
};
# Add terminfo database of all known terminals to the system profile.
# Terminfo entries for the terminals we actually use, so `$TERM` resolves on
# hosts we SSH into. This replaces `environment.enableAllTerminfo`, which
# installs every terminal's terminfo — including rxvt-unicode, which currently
# fails to build with GCC 16 (https://github.com/NixOS/nixpkgs/issues/568896).
# https://github.com/NixOS/nixpkgs/blob/nixos-26.05/nixos/modules/config/terminfo.nix
environment.enableAllTerminfo = true;
environment.systemPackages = [
pkgs.alacritty.terminfo
pkgs.foot.terminfo
pkgs.ghostty.terminfo
pkgs.kitty.terminfo
];
}
-4
View File
@@ -1,6 +1,4 @@
{
lib,
pkgs,
mylib,
...
}:
@@ -26,6 +24,4 @@
(mylib.relativeToRoot "hardening/apparmor")
];
# Fix: jasper is marked as broken, refusing to evaluate.
environment.enableAllTerminfo = lib.mkForce false;
}