1
0
mirror of https://github.com/nix-community/home-manager synced 2024-06-26 08:28:30 +02:00

zsh: add support for zproof

Using zproof allows benchmarking the shell initialization. It must be
called as the first & last line of `~/.zshrc`.

PR #4745
This commit is contained in:
MayNiklas 2023-12-07 16:33:11 +01:00 committed by Robert Helgesson
parent 30f9cdd69d
commit 77c698fa4b
No known key found for this signature in database
GPG Key ID: 96E745BD17AA17ED

View File

@ -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
'')
]);
}