Initial commit
This commit is contained in:
54
modules/desktop/fish.nix
Normal file
54
modules/desktop/fish.nix
Normal file
@@ -0,0 +1,54 @@
|
||||
{ pkgs, config, ...}: {
|
||||
globals.hm = {
|
||||
programs.carapace = {
|
||||
enableFishIntegration = true;
|
||||
enable = true;
|
||||
};
|
||||
home.packages = with pkgs; [ grc fzf ];
|
||||
|
||||
# home.file.".config/fish/config.fish".force = lib.mkForce true;
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
shellAliases = config.n.misc.aliases;
|
||||
|
||||
interactiveShellInit = ''
|
||||
set fish_greeting
|
||||
fish_vi_key_bindings
|
||||
'';
|
||||
|
||||
plugins = with pkgs.fishPlugins; [
|
||||
# Colorized command output
|
||||
{ name = "grc"; src = grc.src; }
|
||||
# Fzf integration
|
||||
{ name = "fzf"; src = fzf-fish.src; }
|
||||
{ name = "forgit"; src = forgit.src; }
|
||||
# Usage frequency-based directory jumping
|
||||
{ name = "z"; src = z.src; }
|
||||
];
|
||||
|
||||
functions = {
|
||||
fish_prompt = "string join '' -- (set_color --bold green) (prompt_login) (set_color normal) ' ['(prompt_pwd)']' (set_color green) (fish_git_prompt) ' '(fish_default_mode_prompt)\\n(set_color blue)'> '(set_color normal)";
|
||||
fish_mode_prompt = "";
|
||||
fish_default_mode_prompt = ''
|
||||
switch $fish_bind_mode
|
||||
case default
|
||||
set_color red
|
||||
echo '[N]'
|
||||
case insert
|
||||
set_color green
|
||||
echo '[I]'
|
||||
case replace_one
|
||||
set_color green
|
||||
echo '[R]'
|
||||
case visual
|
||||
set_color brmagenta
|
||||
echo '[V]'
|
||||
end
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
imp.home.dirs = [ ".local/share/fish" ];
|
||||
users.defaultUserShell = pkgs.fish;
|
||||
programs.fish.enable = true;
|
||||
}
|
Reference in New Issue
Block a user