76 lines
2.1 KiB
Nix
76 lines
2.1 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}: {
|
|
options = {
|
|
zsh.enable =
|
|
lib.mkEnableOption "enable z shell";
|
|
};
|
|
config = lib.mkIf config.zsh.enable {
|
|
programs.zsh = {
|
|
enable = true;
|
|
dotDir = ".config/zsh";
|
|
initExtra = ''
|
|
bindkey '^[[A' history-substring-search-up
|
|
bindkey '^[[B' history-substring-search-down
|
|
'';
|
|
# promptInit = "oh-my-posh init zsh -c ~/.config/oh-my-posh/zen.toml";
|
|
enableCompletion = true;
|
|
autosuggestion.enable = true;
|
|
#autosuggestion.highlight = "fg=#ff00ff,bg=cyan,bold,underline";
|
|
shellAliases = {
|
|
ls = "eza";
|
|
cat = "bat";
|
|
cd = "z";
|
|
l = "eza -alh";
|
|
};
|
|
history = {
|
|
size = 10000;
|
|
path = "${config.xdg.dataHome}/zsh/history";
|
|
};
|
|
plugins = [
|
|
{
|
|
name = "zsh-autosuggestions";
|
|
file = "zsh-autosuggestions.plugin.zsh";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "zsh-users";
|
|
repo = "zsh-autocomplete";
|
|
rev = "v0.7.0";
|
|
sha256 = "sha256-/6V6IHwB5p0GT1u5SAiUa20LjFDSrMo731jFBq/bnpw=";
|
|
};
|
|
}
|
|
{
|
|
name = "zsh-syntax-highlighting";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "zsh-users";
|
|
repo = "zsh-syntax-highlighting";
|
|
rev = "0.8.0";
|
|
sha256 = "sha256-iJdWopZwHpSyYl5/FQXEW7gl/SrKaYDEtTH9cGP7iPo=";
|
|
};
|
|
}
|
|
{
|
|
name = "zsh-history-substring-search";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "zsh-users";
|
|
repo = "zsh-history-substring-search";
|
|
rev = "v1.1.0";
|
|
sha256 = "sha256-GSEvgvgWi1rrsgikTzDXokHTROoyPRlU0FVpAoEmXG4=";
|
|
};
|
|
}
|
|
{
|
|
name = "zsh-nix-shell";
|
|
file = "nix-shell.plugin.zsin.fromh";
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "chisui";
|
|
repo = "zsh-nix-shell";
|
|
rev = "v0.8.0";
|
|
sha256 = "1lzrn0n4fxfcgg65v0qhnj7wnybybqzs4adz7xsrkgmcsr0ii8b7";
|
|
};
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|