{ config, pkgs, ... }: { programs.zsh = { enable = true; enableAutosuggestions = true; enableCompletion = 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 = "powerlevel10k"; file = "powerlevel10k.zsh-theme"; src = pkgs.fetchFromGitHub { owner = "romkatv"; repo = "powerlevel10k"; rev = "v1.19.0"; sha256 = "+hzjSbbrXr0w1rGHm6m2oZ6pfmD6UUDBfPd7uMg5l5c="; }; } { name = "z.lua"; src = pkgs.fetchFromGitHub { owner = "skywind3000"; repo = "z.lua"; rev = "1.8.16"; sha256 = "VVJXBVENXlJXVj831Hx4sa7AzGHXpsui6tga9uA6ZnE="; }; } { 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 = { POWERLEVEL9K_DISABLE_CONFIGURATION_WIZARD = true; }; }; home.file.".config/zsh/.p10k.zsh".source = ./.p10k.zsh; }