python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / nixos / modules / config / terminfo.nix
blob82f9ae48372af4e6188894354e60cc2178526f1d
1 # This module manages the terminfo database
2 # and its integration in the system.
3 { config, lib, pkgs, ... }:
5 with lib;
9   options.environment.enableAllTerminfo = with lib; mkOption {
10     default = false;
11     type = types.bool;
12     description = lib.mdDoc ''
13       Whether to install all terminfo outputs
14     '';
15   };
17   config = {
19     # can be generated with: filter (drv: (builtins.tryEval (drv ? terminfo)).value) (attrValues pkgs)
20     environment.systemPackages = mkIf config.environment.enableAllTerminfo (map (x: x.terminfo) (with pkgs; [
21       alacritty
22       foot
23       kitty
24       mtm
25       rxvt-unicode-unwrapped
26       rxvt-unicode-unwrapped-emoji
27       termite
28       wezterm
29     ]));
31     environment.pathsToLink = [
32       "/share/terminfo"
33     ];
35     environment.etc.terminfo = {
36       source = "${config.system.path}/share/terminfo";
37     };
39     environment.profileRelativeSessionVariables = {
40       TERMINFO_DIRS = [ "/share/terminfo" ];
41     };
43     environment.extraInit = ''
45       # reset TERM with new TERMINFO available (if any)
46       export TERM=$TERM
47     '';
49     security.sudo.extraConfig = ''
51       # Keep terminfo database for root and %wheel.
52       Defaults:root,%wheel env_keep+=TERMINFO_DIRS
53       Defaults:root,%wheel env_keep+=TERMINFO
54     '';
56   };