feat(zsh): add some nice to haves
This commit is contained in:
parent
eb3eea721d
commit
565d9b8948
3 changed files with 28 additions and 16 deletions
|
@ -5,6 +5,7 @@
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
cli.shell = "zsh";
|
cli.shell = "zsh";
|
||||||
|
cli.enableScreensaver = true;
|
||||||
cli.editor = "nvf";
|
cli.editor = "nvf";
|
||||||
cli.file-browser = "yazi";
|
cli.file-browser = "yazi";
|
||||||
cli.multiplexer = "zellij";
|
cli.multiplexer = "zellij";
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
{
|
{
|
||||||
options.cli = {
|
options.cli = {
|
||||||
shell = lib.pantheon.mkStrOption;
|
shell = lib.pantheon.mkStrOption;
|
||||||
|
enableScreensaver = lib.mkEnableOption "";
|
||||||
editor = lib.pantheon.mkStrOption;
|
editor = lib.pantheon.mkStrOption;
|
||||||
file-browser = lib.pantheon.mkStrOption;
|
file-browser = lib.pantheon.mkStrOption;
|
||||||
multiplexer = lib.pantheon.mkStrOption;
|
multiplexer = lib.pantheon.mkStrOption;
|
||||||
|
|
|
@ -2,26 +2,36 @@
|
||||||
{
|
{
|
||||||
config = lib.mkIf (config.cli.shell == "zsh") {
|
config = lib.mkIf (config.cli.shell == "zsh") {
|
||||||
home.sessionVariables.SHELL = "zsh";
|
home.sessionVariables.SHELL = "zsh";
|
||||||
|
home.persistence."/persist/home/${config.snowfallorg.user.name}".files = [ ".zsh_history" ];
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableVteIntegration = true;
|
enableVteIntegration = true;
|
||||||
syntaxHighlighting.enable = true;
|
syntaxHighlighting.enable = true;
|
||||||
history.share = true;
|
historySubstringSearch.enable = true;
|
||||||
history.size = 10000;
|
history = {
|
||||||
history.ignoreDups = true;
|
append = true;
|
||||||
history.ignoreSpace = true;
|
extended = true;
|
||||||
initContent =
|
ignoreDups = true;
|
||||||
lib.mkOrder 1200
|
ignoreSpace = true;
|
||||||
# zsh
|
save = 10000;
|
||||||
''
|
share = true;
|
||||||
RPROMPT='[%D{%L:%M:%S %p}]'
|
size = 10000;
|
||||||
|
};
|
||||||
TMOUT=1
|
|
||||||
|
|
||||||
TRAPALRM() {
|
|
||||||
zle reset-prompt
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
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
|
||||||
|
}
|
||||||
|
''
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue