diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/zsh.nix | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/modules/zsh.nix b/modules/zsh.nix new file mode 100644 index 0000000..bd7a30f --- /dev/null +++ b/modules/zsh.nix | |||
| @@ -0,0 +1,52 @@ | |||
| 1 | { | ||
| 2 | programs.zsh = { | ||
| 3 | enable = true; | ||
| 4 | enableCompletion = true; | ||
| 5 | enableAutosuggestions = true; | ||
| 6 | dotDir = ".zsh"; | ||
| 7 | history = { | ||
| 8 | ignoreAllDups = true; | ||
| 9 | path = "$HOME/.zsh/history"; | ||
| 10 | }; | ||
| 11 | initExtra = '' | ||
| 12 | zstyle ':completion:*' menu select | ||
| 13 | zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' | ||
| 14 | zmodload zsh/complist | ||
| 15 | bindkey -M menuselect 'h' vi-backward-char | ||
| 16 | bindkey -M menuselect 'k' vi-up-line-or-history | ||
| 17 | bindkey -M menuselect 'l' vi-forward-char | ||
| 18 | bindkey -M menuselect 'j' vi-down-line-or-history | ||
| 19 | bindkey '^f' autosuggest-accept | ||
| 20 | source ${pkgs.zsh-vi-mode}/share/zsh-vi-mode/zsh-vi-mode.plugin.zsh | ||
| 21 | zvm_after_init_commands+=('source ${pkgs.fzf}/share/fzf/completion.zsh && source ${pkgs.fzf}/share/fzf/key-bindings.zsh') | ||
| 22 | ''; | ||
| 23 | shellAliases = { | ||
| 24 | ".." = "cd .."; | ||
| 25 | l = "ls --color -al"; | ||
| 26 | ls = "ls --color"; | ||
| 27 | v = "nvim"; | ||
| 28 | o = "xdg-open"; | ||
| 29 | t = "tmux"; | ||
| 30 | f = "lf"; | ||
| 31 | tf = "terraform"; | ||
| 32 | k = "kubectl"; | ||
| 33 | gst = "git status --short"; | ||
| 34 | ga = "git add"; | ||
| 35 | gp = "git push"; | ||
| 36 | gl = "git log --oneline --decorate --graph"; | ||
| 37 | gc = "git commit -v -S"; | ||
| 38 | gd = "git diff --minimal"; | ||
| 39 | }; | ||
| 40 | plugins = [ | ||
| 41 | { | ||
| 42 | name = "pure"; | ||
| 43 | src = pkgs.fetchFromGitHub { | ||
| 44 | owner = "sindresorhus"; | ||
| 45 | repo = "pure"; | ||
| 46 | rev = "v1.22.0"; | ||
| 47 | sha256 = "177vabhvgrxdcwvc29rmfmfr96wl75hrkhymnd8qcaky2v4047jd"; | ||
| 48 | }; | ||
| 49 | } | ||
| 50 | ]; | ||
| 51 | }; | ||
| 52 | } | ||
