{ config, pkgs, lib, ... }: with lib; let cfg = config.modules.home.shell.zsh; in { options.modules.home.shell.zsh = { enable = mkEnableOption '' Enable zsh with my custom configurations ''; }; config = mkIf cfg.enable { programs.zsh = { enable = true; autosuggestion.enable = true; syntaxHighlighting.enable = true; initExtra = '' [[ ! -f ${./p10k.zsh} ]] || source ${./p10k.zsh} ''; plugins = with pkgs; [ { file = "powerlevel10k.zsh-theme"; name = "powerlevel10k"; src = "${zsh-powerlevel10k}/share/zsh-powerlevel10k"; } { file = "p10k.zsh"; name = "powerlevel10k-config"; src = zsh-powerlevel10k; } ]; }; }; }