46 lines
1013 B
Nix
46 lines
1013 B
Nix
{pkgs, ...}:
|
|
{
|
|
# Required by the fzf fish plugin
|
|
programs.fzf = {
|
|
enable = true;
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
fd
|
|
bat
|
|
];
|
|
|
|
|
|
programs.fish = {
|
|
enable = true;
|
|
generateCompletions = true;
|
|
|
|
plugins = [
|
|
{ name = "fzf"; src = pkgs.fishPlugins.fzf-fish.src; }
|
|
{ name = "z"; src = pkgs.fishPlugins.z.src; }
|
|
{ name = "pure"; src = pkgs.fishPlugins.pure.src; }
|
|
];
|
|
|
|
functions = {
|
|
# disable the fish greeting
|
|
fish_greeting = "";
|
|
};
|
|
};
|
|
|
|
|
|
# sets the "default" shell to fish
|
|
# actually keeps bash as a posix-compliant default but starts fish if the shell is not bash
|
|
# See https://nixos.wiki/wiki/Fish
|
|
programs.bash = {
|
|
enable = true;
|
|
initExtra = ''
|
|
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
|
then
|
|
shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
|
exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
|
fi
|
|
'';
|
|
};
|
|
|
|
}
|