mirror of
https://github.com/nix-community/home-manager
synced 2024-11-26 21:19:45 +01:00
eza: fix icons option
Fixes the icons option for eza which was breaking completion in zsh.
This commit is contained in:
parent
e1aec543f5
commit
2a4fd1cfd8
2 changed files with 25 additions and 4 deletions
|
@ -18,6 +18,11 @@ This release has the following notable changes:
|
||||||
add `-w` to your assignment of
|
add `-w` to your assignment of
|
||||||
[services.swayidle.extraArgs](#opt-services.swayidle.extraArgs).
|
[services.swayidle.extraArgs](#opt-services.swayidle.extraArgs).
|
||||||
|
|
||||||
|
- Support for Boolean values in the option
|
||||||
|
[programs.eza.icons](#opt-programs.eza.icons) is deprecated for
|
||||||
|
future removal. The new value for `true` is `"auto"`, and for
|
||||||
|
`false` it is `null`.
|
||||||
|
|
||||||
## State Version Changes {#sec-release-24.11-state-version-changes}
|
## State Version Changes {#sec-release-24.11-state-version-changes}
|
||||||
|
|
||||||
The state version in this release includes the changes below. These
|
The state version in this release includes the changes below. These
|
||||||
|
|
|
@ -49,10 +49,13 @@ with lib;
|
||||||
};
|
};
|
||||||
|
|
||||||
icons = mkOption {
|
icons = mkOption {
|
||||||
type = types.bool;
|
type = types.enum [ null true false "auto" "always" "never" ];
|
||||||
default = false;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
Display icons next to file names ({option}`--icons` argument).
|
Display icons next to file names ({option}`--icons` argument).
|
||||||
|
|
||||||
|
Note, the support for Boolean values is deprecated.
|
||||||
|
Setting this option to `true` corresponds to `--icons=auto`.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -70,8 +73,15 @@ with lib;
|
||||||
config = let
|
config = let
|
||||||
cfg = config.programs.eza;
|
cfg = config.programs.eza;
|
||||||
|
|
||||||
args = escapeShellArgs (optional cfg.icons "--icons"
|
iconsOption = let
|
||||||
++ optional cfg.git "--git" ++ cfg.extraOptions);
|
v = if isBool cfg.icons then
|
||||||
|
(if cfg.icons then "auto" else null)
|
||||||
|
else
|
||||||
|
cfg.icons;
|
||||||
|
in optionals (v != null) [ "--icons" v ];
|
||||||
|
|
||||||
|
args = escapeShellArgs
|
||||||
|
(iconsOption ++ optional cfg.git "--git" ++ cfg.extraOptions);
|
||||||
|
|
||||||
optionsAlias = optionalAttrs (args != "") { eza = "eza ${args}"; };
|
optionsAlias = optionalAttrs (args != "") { eza = "eza ${args}"; };
|
||||||
|
|
||||||
|
@ -83,6 +93,12 @@ with lib;
|
||||||
lla = "eza -la";
|
lla = "eza -la";
|
||||||
};
|
};
|
||||||
in mkIf cfg.enable {
|
in mkIf cfg.enable {
|
||||||
|
warnings = optional (isBool cfg.icons) ''
|
||||||
|
Setting programs.eza.icons to a Boolean is deprecated.
|
||||||
|
Please update your configuration so that
|
||||||
|
|
||||||
|
programs.eza.icons = ${if cfg.icons then ''"auto"'' else "null"}'';
|
||||||
|
|
||||||
home.packages = [ cfg.package ];
|
home.packages = [ cfg.package ];
|
||||||
|
|
||||||
programs.bash.shellAliases = optionsAlias
|
programs.bash.shellAliases = optionsAlias
|
||||||
|
|
Loading…
Reference in a new issue