2022-05-06 13:29:25 +00:00
|
|
|
{ config, ... }: {
|
|
|
|
|
|
|
|
home-manager.users.${config.user} = {
|
|
|
|
|
|
|
|
programs.fzf.enable = true;
|
|
|
|
|
|
|
|
programs.fish = {
|
|
|
|
functions = {
|
|
|
|
projects = {
|
|
|
|
description = "Jump to a project";
|
|
|
|
body = ''
|
2022-06-20 19:20:20 +00:00
|
|
|
set projdir ( \
|
|
|
|
fd \
|
2022-06-21 21:51:27 +00:00
|
|
|
--search-path $HOME/dev \
|
2022-06-20 19:20:20 +00:00
|
|
|
--type directory \
|
2023-03-30 14:24:19 +00:00
|
|
|
--exact-depth 2 \
|
|
|
|
| sed 's/\\/$//' \
|
2022-06-27 01:53:08 +00:00
|
|
|
| fzf \
|
|
|
|
--delimiter '/' \
|
|
|
|
--with-nth 6.. \
|
|
|
|
)
|
2022-06-20 19:49:25 +00:00
|
|
|
and cd $projdir
|
2022-05-06 13:29:25 +00:00
|
|
|
and commandline -f execute
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
2022-06-27 02:08:17 +00:00
|
|
|
shellAbbrs = { lsf = "ls -lh | fzf"; };
|
2022-05-06 13:29:25 +00:00
|
|
|
};
|
|
|
|
|
2022-05-29 17:44:45 +00:00
|
|
|
# Global fzf configuration
|
2022-05-06 13:29:25 +00:00
|
|
|
home.sessionVariables = let fzfCommand = "fd --type file";
|
|
|
|
in {
|
|
|
|
FZF_DEFAULT_COMMAND = fzfCommand;
|
|
|
|
FZF_CTRL_T_COMMAND = fzfCommand;
|
|
|
|
FZF_DEFAULT_OPTS = "-m --height 50% --border";
|
|
|
|
};
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|