summaryrefslogtreecommitdiffstats
path: root/zsh-darwin.nix
diff options
context:
space:
mode:
Diffstat (limited to 'zsh-darwin.nix')
-rw-r--r--zsh-darwin.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/zsh-darwin.nix b/zsh-darwin.nix
new file mode 100644
index 0000000..74e164f
--- /dev/null
+++ b/zsh-darwin.nix
@@ -0,0 +1,37 @@
+{
+ config,
+ pkgs,
+ ...
+}: {
+ environment.systemPackages = with pkgs; [
+ direnv
+ fzf
+ zoxide
+ ];
+
+ programs.zsh = {
+ enable = true;
+ enableAutosuggestions = true;
+ enableBashCompletion = true;
+ enableCompletion = true;
+ enableGlobalCompInit = true;
+ enableFastSyntaxHighlighting = true;
+ enableFzfCompletion = true;
+ enableFzfGit = true;
+ enableFzfHistory = true;
+ histFile = "$HOME/.zsh_history";
+ histSize = 100000;
+ promptInit = ''
+ PROMPT=$'%{\e[97m%}[%{\e[m%}%{\e[92m%}%n%{\e[m%}%{\e[32m%}@%{\e[m%}%{\e[92m%}%m%{\e[m%}:%{\e[92m%}%~%{\e[m%}%{\e[97m%}]%{\e[m%}%{\e[97m%}%#%{\e[m%} '
+ '';
+ interactiveShellInit = ''
+ eval "$(direnv hook zsh)"
+ eval "$(zoxide init zsh)"
+
+ setopt autocd extendedglob nomatch notify
+
+ bindkey -v
+ export KEYTIMEOUT=20
+ '';
+ };
+}