2020-04-13 10:52:17 +02:00
|
|
|
{ pkgs, lib, ... }:
|
|
|
|
|
{
|
|
|
|
|
environment = {
|
|
|
|
|
systemPackages = [ pkgs.fzf ];
|
|
|
|
|
variables = {
|
|
|
|
|
FZF_DEFAULT_OPTS = lib.escapeShellArgs [
|
2020-04-14 10:28:32 +02:00
|
|
|
"--height=40%"
|
2020-04-13 10:52:17 +02:00
|
|
|
"--layout=reverse"
|
|
|
|
|
];
|
|
|
|
|
FZF_ALT_C_COMMAND = "${pkgs.fd}/bin/fd --type d";
|
|
|
|
|
FZF_ALT_C_OPTS = lib.escapeShellArgs [
|
2020-04-15 00:06:40 +02:00
|
|
|
"--preview='${pkgs.tree}/bin/tree -L 1 {}'"
|
2020-04-13 10:52:17 +02:00
|
|
|
"--bind='space:toggle-preview'"
|
|
|
|
|
"--preview-window=hidden"
|
|
|
|
|
];
|
|
|
|
|
FZF_CTRL_T_COMMAND = "${pkgs.fd}/bin/fd --type f";
|
|
|
|
|
FZF_CTRL_T_OPTS = lib.escapeShellArgs [
|
2020-04-15 00:06:40 +02:00
|
|
|
"--preview='${pkgs.bat}/bin/bat {}'"
|
2020-04-13 10:52:17 +02:00
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
programs.zsh.interactiveShellInit = ''
|
|
|
|
|
if [[ $options[zle] = on ]]; then
|
|
|
|
|
. ${pkgs.fzf}/share/fzf/completion.zsh
|
|
|
|
|
. ${pkgs.fzf}/share/fzf/key-bindings.zsh
|
|
|
|
|
fi
|
|
|
|
|
'';
|
|
|
|
|
|
|
|
|
|
programs.bash.interactiveShellInit = ''
|
|
|
|
|
if [[ :$SHELLOPTS: =~ :(vi|emacs): ]]; then
|
|
|
|
|
. ${pkgs.fzf}/share/fzf/completion.bash
|
|
|
|
|
. ${pkgs.fzf}/share/fzf/key-bindings.bash
|
|
|
|
|
fi
|
|
|
|
|
'';
|
|
|
|
|
}
|