{ config, pkgs, ... }: { programs.zsh = { enable = true; enableAutosuggestions = true; enableCompletion = true; enableVteIntegration = true; syntaxHighlighting.enable = true; autocd = true; defaultKeymap = null; dotDir = "~/.config/zsh"; history = { ignoreSpace = true; path = "${config.xdg.dataHome}/zsh/zsh_history"; save = 10000; }; historySubstringSearch.enable = true; plugins = [ { name = "z.lua"; src = pkgs.fetchFromGitHub { owner = "skywind3000"; repo = "z.lua"; rev = "1.8.16"; sha256 = "VVJXBVENXlJXVj831Hx4sa7AzGHXpsui6tga9uA6ZnE="; }; } # TODO change vi-mode cursor { name = "zsh-vi-mode"; src = pkgs.fetchFromGitHub { owner = "jeffreytse"; repo = "zsh-vi-mode"; rev = "v0.10.0"; sha256 = "QE6ZwwM2X0aPqNnbVrj0y7w9hmuRf0H1j8nXYwyoLo4="; }; } ]; # initExtra = '' # source $HOME/.config/zsh/.p10k.zsh # ''; localVariables = { ZVM_TERM = "xterm-256color"; }; }; # home.file.".config/zsh/.p10k.zsh".source = ./.p10k.zsh; }