59 lines
1.1 KiB
Nix
59 lines
1.1 KiB
Nix
{
|
|
lib,
|
|
osConfig,
|
|
pkgs,
|
|
profile,
|
|
...
|
|
}:
|
|
with lib;
|
|
let
|
|
cfg = osConfig.modules.zsh;
|
|
in
|
|
{
|
|
imports = [
|
|
./zshrc-personal.nix
|
|
];
|
|
|
|
programs.zsh = {
|
|
enable = cfg.enable;
|
|
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";
|
|
};
|
|
};
|
|
} |