{
  theme,
  ...
}:

{
  catppuccin.yazi = {
    enable = true;
    flavor = theme.flavor;
    accent = "blue";
  };

  programs.yazi = {
    enable = true;
    enableFishIntegration = true;
    keymap = {
      mgr.prepend_keymap = [
        {
          run = "hidden toggle";
          on = [ "<C-h>" ];
          desc = "Toggle hidden files";
        }
      ];
    };
    settings = {
      mgr = {
        ratio = [
          2
          4
          2
        ];
        sort_by = "natural";
        sort_sensitive = true;
        sort_reverse = false;
        sort_dir_first = true;
        linemode = "none";
        show_symlink = true;
      };

      preview = {
        image_filter = "lanczos3";
        image_quality = 90;
        tab_size = 1;
        max_width = 600;
        max_height = 900;
        cache_dir = "";
        ueberzug_scale = 1;
        ueberzug_offset = [
          0
          0
          0
          0
        ];
      };

      tasks = {
        micro_workers = 5;
        macro_workers = 10;
        bizarre_retry = 5;
      };
    };
  };
}
