{ lib, config, ... }: let has-ripgrep = config.programs.ripgrep.enable; has-fd = config.programs.fd.enable; has-eza = config.programs.eza.enable; has-bat = config.programs.bat.enable; has-tmux = config.programs.tmux.enable; has-delta = config.programs.git.delta.enable; in { programs.fzf = { enable = true; rose-pine.enable = true; defaultOptions = [ "--margin=10%,5%" "--border=sharp" "--pointer= " "--marker= " "--prompt= " "--preview-label-pos='bottom'" "--preview-window='border-sharp'" ]; defaultCommand = lib.mkIf has-ripgrep "rg --files --hidden --glob \"!.git\""; changeDirWidgetCommand = lib.mkIf has-fd "fd --type d"; changeDirWidgetOptions = lib.mkIf has-eza [ "--preview 'eza --all --color=always --sort=name --group-directories-first --level=3 {}'" ]; fileWidgetCommand = lib.mkIf has-fd "fd --type f"; fileWidgetOptions = lib.mkIf has-bat [ "--preview 'bat {}'" ]; tmux.enableShellIntegration = lib.mkIf has-tmux true; }; home.sessionVariables = lib.mkIf has-delta { fzf_diff_highlighter = "delta --paging=never --features=arctic-fox"; }; }