feat(zsh): add some nice to haves

This commit is contained in:
Mohammad Rafiq 2025-05-21 14:33:16 +08:00
parent eb3eea721d
commit 565d9b8948
No known key found for this signature in database
3 changed files with 28 additions and 16 deletions

View file

@ -5,6 +5,7 @@
}:
{
cli.shell = "zsh";
cli.enableScreensaver = true;
cli.editor = "nvf";
cli.file-browser = "yazi";
cli.multiplexer = "zellij";

View file

@ -7,6 +7,7 @@
{
options.cli = {
shell = lib.pantheon.mkStrOption;
enableScreensaver = lib.mkEnableOption "";
editor = lib.pantheon.mkStrOption;
file-browser = lib.pantheon.mkStrOption;
multiplexer = lib.pantheon.mkStrOption;

View file

@ -2,26 +2,36 @@
{
config = lib.mkIf (config.cli.shell == "zsh") {
home.sessionVariables.SHELL = "zsh";
home.persistence."/persist/home/${config.snowfallorg.user.name}".files = [ ".zsh_history" ];
programs.zsh = {
enable = true;
enableVteIntegration = true;
syntaxHighlighting.enable = true;
history.share = true;
history.size = 10000;
history.ignoreDups = true;
history.ignoreSpace = true;
initContent =
lib.mkOrder 1200
# zsh
''
RPROMPT='[%D{%L:%M:%S %p}]'
TMOUT=1
TRAPALRM() {
zle reset-prompt
}
'';
historySubstringSearch.enable = true;
history = {
append = true;
extended = true;
ignoreDups = true;
ignoreSpace = true;
save = 10000;
share = true;
size = 10000;
};
};
programs.zsh.initContent = lib.mkIf config.cli.enableScreensaver (
lib.mkOrder 1200
# zsh
''
setopt PROMPT_SUBST
PROMPT='> '
RPROMPT='[%D{%L:%M:%S %p}]'
TMOUT=1
TRAPALRM() {
zle reset-prompt
}
''
);
};
}