# Eza — modern ls replacement with icons, git status, and long format by default.
{
  config,
  lib,
  ...
}:
with lib; let
  cfg = config.base.cliTools.eza;
in {
  # Enabled by default — base modules are always-on.
  options.base.cliTools.eza.enable = (mkEnableOption "enable eza modern ls replacement") // {default = true;};

  config = mkIf cfg.enable {
    programs.eza = {
      enable = true;
      enableFishIntegration = true;
      enableBashIntegration = true;
      extraOptions = ["-l" "--icons" "--git" "-a"];
    };
  };
}
