summary refs log tree commit diff
path: root/nixos/modules/config/terminfo.nix
blob: 4fd6ba5ea605902cbb021d4eacba10b70122ab58 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# This module manages the terminfo database
# and its integration in the system.
{ config, ... }:
{
  config = {

    environment.pathsToLink = [
      "/share/terminfo"
    ];

    environment.etc."terminfo" = {
      source = "${config.system.path}/share/terminfo";
    };

    environment.profileRelativeEnvVars = {
      TERMINFO_DIRS = [ "/share/terminfo" ];
    };

    environment.extraInit = ''

      # reset TERM with new TERMINFO available (if any)
      export TERM=$TERM
    '';

    security.sudo.extraConfig = ''

      # Keep terminfo database for root and %wheel.
      Defaults:root,%wheel env_keep+=TERMINFO_DIRS
      Defaults:root,%wheel env_keep+=TERMINFO
    '';

  };
}