summaryrefslogtreecommitdiff
path: root/common/home/programs/zsh
diff options
context:
space:
mode:
Diffstat (limited to 'common/home/programs/zsh')
-rw-r--r--common/home/programs/zsh/default.nix27
1 files changed, 27 insertions, 0 deletions
diff --git a/common/home/programs/zsh/default.nix b/common/home/programs/zsh/default.nix
new file mode 100644
index 0000000..ef08f7f
--- /dev/null
+++ b/common/home/programs/zsh/default.nix
@@ -0,0 +1,27 @@
+{ ... }:
+{
+ enable = true;
+ syntaxHighlighting.enable = true;
+ enableCompletion = true;
+ defaultKeymap = "viins";
+ autocd = true;
+ shellAliases = {
+ v = "nvim";
+ };
+ initExtra = ''
+ prompt_git_status() {
+ if [ -n "$(git branch 2>/dev/null)" ]; then
+ sign="";
+ [[ -n "$(git status -s)" ]] && sign="";
+ git_branch=$(git branch);
+ echo "%F{5}%f%F{0}%K{5}''${sign} ''${git_branch##*\* }%k%F{5}%k";
+ fi;
+ }
+
+ update_prompt() {
+ export RPROMPT="$(prompt_git_status)"
+ }
+
+ PROMPT="%F{cyan}%F{0}%K{cyan}%n%k%f%F{cyan}%k%f %F{cyan}%f%k%K{cyan}%F{0}%m%k%f%F{cyan}%k %f%k%F{magenta}%F{0}%K{magenta}%~%f%k%F{magenta}%k%f "
+ '';
+}