nixos/terminfo: Add config option not to add extra sudo config

This will be necessary for compatibility with `sudo-rs`.
This commit is contained in:
nicoo 2023-09-04 23:05:00 +00:00
parent 8742134c80
commit 0365b05f13
2 changed files with 24 additions and 7 deletions

View file

@ -280,6 +280,12 @@ The module update takes care of the new config syntax and the data itself (user
- New `boot.bcache.enable` (default enabled) allows completely removing `bcache` mount support.
- `security.sudo` now provides an extra option, that does not change the
module's default behaviour:
`keepTerminfo` controls whether `TERMINFO` and `TERMINFO_DIRS` are preserved
for `root` and the `wheel` group.
## Nixpkgs internals {#sec-release-23.11-nixpkgs-internals}
- The use of `sourceRoot = "source";`, `sourceRoot = "source/subdir";`, and similar lines in package derivations using the default `unpackPhase` is deprecated as it requires `unpackPhase` to always produce a directory named "source". Use `sourceRoot = src.name`, `sourceRoot = "${src.name}/subdir";`, or `setSourceRoot = "sourceRoot=$(echo */subdir)";` or similar instead.

View file

@ -6,12 +6,23 @@ with lib;
{
options.environment.enableAllTerminfo = with lib; mkOption {
default = false;
type = types.bool;
description = lib.mdDoc ''
Whether to install all terminfo outputs
'';
options = with lib; {
environment.enableAllTerminfo = mkOption {
default = false;
type = types.bool;
description = lib.mdDoc ''
Whether to install all terminfo outputs
'';
};
security.sudo.keepTerminfo = mkOption {
default = true;
type = types.bool;
description = lib.mdDoc ''
Whether to preserve the `TERMINFO` and `TERMINFO_DIRS`
environment variables, for `root` and the `wheel` group.
'';
};
};
config = {
@ -54,7 +65,7 @@ with lib;
export TERM=$TERM
'';
security.sudo.extraConfig = ''
security.sudo.extraConfig = mkIf config.security.sudo.keepTerminfo ''
# Keep terminfo database for root and %wheel.
Defaults:root,%wheel env_keep+=TERMINFO_DIRS