Initial migration of zsh config to Nix

This commit is contained in:
Spotlight 2023-05-04 16:25:17 -05:00
parent d6d804239e
commit b2c6678614
Signed by: spotlight
GPG key ID: 874AA355B3209BDC

View file

@ -23,6 +23,57 @@
vim vim
]; ];
# Very opinionated :)
programs.zsh = {
enable = true;
# We want several options:
autocd = true;
history = {
ignoreDups = true;
ignoreSpace = true;
};
# Common plugins.
enableAutosuggestions = true;
enableCompletion = true;
enableSyntaxHighlighting = true;
plugins = with pkgs; [
{
name = "p10k";
src = fetchFromGitHub {
owner = "romkatv";
repo = "powerlevel10k";
rev = "v1.18.0";
sha256 = "IiMYGefF+p4bUueO/9/mJ4mHMyJYiq+67GgNdGJ6Eew=";
};
file = "powerlevel10k.zsh-theme";
}
# TODO: expand-multiple-dots.zsh should be bundled alone.
{
name = "exand-multiple-dots";
src = "/home/spotlight/.dotfiles/zsh";
file = "expand-multiple-dots.zsh";
}
];
# The .p10k.zsh config is beneath.
};
# We must source the p10k config.
# TODO: We should manage the config via programs.zsh.plugins.
home.file.".p10k.zsh".source = "/home/spotlight/.dotfiles/p10k.zsh";
programs.zsh.initExtra = ''
source $HOME/.p10k.zsh
# We manually include zsh-history-substring-search.
autoload -U history-search
zle -N history-beginning-search-backward history-search
zle -N history-beginning-search-forward history-search
bindkey '^[[A' history-beginning-search-backward
bindkey '^[[B' history-beginning-search-forward
'';
# This value determines the Home Manager release that your # This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage # configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards # when a new Home Manager release introduces backwards