nixpkgs/home/programs/zsh.nix
Daniel Siepmann 4ae85c6ef4
Properly handle zsh config
Move nix specifics to nix file.
Remove nix specific escaping from zshrc file.
Add some comments to zshrc file.
2023-01-03 08:06:26 +01:00

37 lines
781 B
Nix

{ config, pkgs }:
# Sources:
# https://thevaluable.dev/zsh-install-configure-mouseless/
# https://thevaluable.dev/zsh-completion-guide-examples/
{
enable = true;
dotDir = ".config/zsh";
autocd = true;
enableSyntaxHighlighting = true;
defaultKeymap = "viins";
# Can be re sourced via: __HM_ZSH_SESS_VARS_SOURCED= source ~/.zshenv
sessionVariables = {
# Reduce timeout after <ESC> (vi keybindings)
KEYTIMEOUT = 1;
};
history = {
size = 10000;
save = 10000;
ignoreDups = true;
ignoreSpace = true;
extended = true;
share = false;
path = "${config.xdg.dataHome}/zsh/zsh_history";
};
initExtra = builtins.readFile(../files/zshrc) + ''
zstyle ':completion:*' cache-path ${config.xdg.cacheHome}/zsh-completion/
'';
}