From c29ebfedcad3ef36557608926aeea68d3106157c Mon Sep 17 00:00:00 2001 From: seth Date: Mon, 20 Feb 2023 15:06:56 -0500 Subject: switch back to fish i don't know why i have to do this but it works so :shurg: --- users/seth/shell/zsh.nix | 82 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 users/seth/shell/zsh.nix (limited to 'users/seth/shell/zsh.nix') diff --git a/users/seth/shell/zsh.nix b/users/seth/shell/zsh.nix new file mode 100644 index 0000000..dd2b58c --- /dev/null +++ b/users/seth/shell/zsh.nix @@ -0,0 +1,82 @@ +{ config +, pkgs +, ... +}: { + programs.zsh = { + enable = false; + enableAutosuggestions = true; + enableVteIntegration = true; + completionInit = '' + autoload -Uz bashcompinit compinit + local zdump="${config.xdg.cacheHome}/zsh/zdump" + bashcompinit + compinit -d "$zdump" + if [[ ! "$zdump.zwc" -nt "$zdump" ]] + then + zcompile "$zdump" + fi + unset zdump + ''; + defaultKeymap = "emacs"; + dotDir = ".config/zsh"; + initExtra = '' + autoload -Uz promptinit + prompt walters + + zmodload zsh/zutil + zmodload zsh/complist + zstyle ":completion::*" group-name "" + zstyle ":completion:*" menu "select" + zstyle ":completion:*" squeeze-slashes "true" + zstyle ":completion::*" use-cache "true" + zstyle ":completion::*" cache-path "$zdump" + + unsetopt beep + unsetopt hist_beep + unsetopt ignore_braces + unsetopt list_beep + setopt always_to_end + setopt prompt_subst + setopt share_history + + # clear backbuffer with ctrl-l + function clear-screen-and-scrollback() { + echoti civis >"$TTY" + printf '%b' '\e[H\e[2J' >"$TTY" + zle .reset-prompt + zle -R + printf '%b' '\e[3J' >"$TTY" + echoti cnorm >"$TTY" + } + + zle -N clear-screen-and-scrollback + bindkey '^L' clear-screen-and-scrollback + ''; + history = { + expireDuplicatesFirst = true; + path = "${config.xdg.stateHome}/zsh/zsh_history"; + save = 1000; + size = 100; + }; + plugins = [ + { + name = "zsh-completions"; + src = pkgs.zsh-completions; + file = "share/zsh-completions/zsh-completions.plugin.zsh"; + } + + { + name = "cattppuccin-zsh-syntax-highlighting"; + src = pkgs.fetchFromGitHub { + owner = "catppuccin"; + repo = "zsh-syntax-highlighting"; + rev = "06d519c20798f0ebe275fc3a8101841faaeee8ea"; + sha256 = "sha256-Q7KmwUd9fblprL55W0Sf4g7lRcemnhjh4/v+TacJSfo="; + }; + + file = "themes/catppuccin_mocha-zsh-syntax-highlighting.zsh"; + } + ]; + enableSyntaxHighlighting = true; + }; +} -- cgit v1.2.3