diff --git a/modules/programs/zsh.nix b/modules/programs/zsh.nix index 851fb47a..53972759 100644 --- a/modules/programs/zsh.nix +++ b/modules/programs/zsh.nix @@ -356,6 +356,13 @@ in description = "Enable zsh autosuggestions"; }; + zproof.enable = mkOption { + default = false; + description = '' + Enable zproof in your zshrc. + ''; + }; + syntaxHighlighting = mkOption { type = syntaxHighlightingModule; default = {}; @@ -534,6 +541,12 @@ in ++ optional cfg.oh-my-zsh.enable cfg.oh-my-zsh.package; home.file."${relToDotDir ".zshrc"}".text = concatStringsSep "\n" ([ + # zproof must be loaded before everything else, since it + # benchmarks the shell initialization. + (optionalString cfg.zproof.enable '' + zmodload zsh/zprof + '') + cfg.initExtraFirst "typeset -U path cdpath fpath manpath" @@ -657,6 +670,11 @@ in (lib.toList cfg.historySubstringSearch.searchDownKey) } '') + + (optionalString cfg.zproof.enable + '' + zprof + '') ]); }