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 | } | ||