nixos/modules/home/zsh/default.nix

55 lines
1.1 KiB
Nix

{
config,
lib,
pkgs,
profile,
...
}:
{
imports = [
./zshrc-personal.nix
];
programs.zsh = {
enable = true;
autosuggestion.enable = true;
syntaxHighlighting = {
enable = true;
highlighters = [
"main"
"brackets"
"pattern"
"root"
];
};
historySubstringSearch.enable = true;
history = {
ignoreDups = false;
save = 100000;
size = 100000;
};
initContent = ''
# vi keybindings for menu select
bindkey -M menuselect 'h' vi-backward-char
bindkey -M menuselect 'k' vi-up-line-or-history
bindkey -M menuselect 'j' vi-down-line-or-history
bindkey -M menuselect 'l' vi-forward-char
# Tab to accept current selection
bind-key -M menuselect '^I' accept-and-infer-next-history
'';
shellAliases = {
".. " = "cd ..";
"..." = "cd../..";
ls = "ls --color=auto";
ll = "ls -al";
grep = "grep --color=auto";
back = "cd $OLDPWD";
gs = "git status";
ssha = "eval $(ssh-agent) && ssh-add";
};
};
}