Add zsh back, remove nushell

This commit is contained in:
Evie Litherland-Smith 2024-09-22 10:43:40 +01:00
parent 88f30b16aa
commit 8b70ab45f3
5 changed files with 65 additions and 4 deletions

View file

@ -21,7 +21,7 @@
alacritty = { alacritty = {
enable = true; enable = true;
settings = { settings = {
shell = "${config.programs.nushell.package}/bin/nu"; shell = "${config.programs.zsh.package}/bin/zsh";
window = { window = {
dynamic_title = true; dynamic_title = true;
padding = { padding = {

View file

@ -8,7 +8,7 @@
profiles.onelight = { profiles.onelight = {
name = "One-Light"; name = "One-Light";
colorScheme = "onelight"; colorScheme = "onelight";
command = "${config.programs.nushell.package}/bin/nu"; command = "${config.programs.zsh.package}/bin/zsh";
font = { font = {
inherit (config.stylix.fonts.monospace) name; inherit (config.stylix.fonts.monospace) name;
size = config.stylix.fonts.sizes.terminal; size = config.stylix.fonts.sizes.terminal;

View file

@ -22,7 +22,6 @@
fd.enable = true; fd.enable = true;
jq.enable = true; jq.enable = true;
nix-index.enable = true; nix-index.enable = true;
nushell.enable = true;
ripgrep.enable = true; ripgrep.enable = true;
bat = { bat = {
enable = true; enable = true;
@ -97,5 +96,36 @@
copy_on_select = true; copy_on_select = true;
}; };
}; };
zsh = {
enable = true;
enableCompletion = true;
autocd = true;
autosuggestion.enable = true;
defaultKeymap = "emacs";
syntaxHighlighting = {
enable = true;
highlighters = [
"brackets"
"cursor"
];
};
historySubstringSearch.enable = true;
history = {
extended = true;
share = true;
ignoreDups = true;
ignoreAllDups = true;
ignoreSpace = true;
expireDuplicatesFirst = true;
};
initExtra = ''
## completion config and styling
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
zstyle ':completion:*' menu 'select=long-list'
## transient prompt
source ${./transient.zsh}
'';
};
}; };
} }

View file

@ -143,8 +143,8 @@
disabled = false; disabled = false;
format = "using [$indicator]($style)"; format = "using [$indicator]($style)";
bash_indicator = " "; bash_indicator = " ";
zsh_indicator = "󰰶 ";
fish_indicator = "󰈺 "; fish_indicator = "󰈺 ";
nu_indicator = "ν ";
powershell_indicator = " "; powershell_indicator = " ";
cmd_indicator = " "; cmd_indicator = " ";
unknown_indicator = " "; unknown_indicator = " ";

31
system/home/shell/transient.zsh Executable file
View file

@ -0,0 +1,31 @@
#!/usr/bin/env zsh
zle-line-init() {
emulate -L zsh
[[ $CONTEXT == start ]] || return 0
while true; do
zle .recursive-edit
local -i ret=$?
[[ $ret == 0 && $KEYS == $'\4' ]] || break
[[ -o ignore_eof ]] || exit 0
done
local saved_prompt=$PROMPT
local saved_rprompt=$RPROMPT
PROMPT='󰁔 '
RPROMPT=''
zle .reset-prompt
PROMPT=$saved_prompt
RPROMPT=$saved_rprompt
if ((ret)); then
zle .send-break
else
zle .accept-line
fi
return ret
}
zle -N zle-line-init