summaryrefslogtreecommitdiff
path: root/home/.oh-my-zsh/themes/essembeh.zsh-theme
diff options
context:
space:
mode:
Diffstat (limited to 'home/.oh-my-zsh/themes/essembeh.zsh-theme')
-rw-r--r--home/.oh-my-zsh/themes/essembeh.zsh-theme36
1 files changed, 36 insertions, 0 deletions
diff --git a/home/.oh-my-zsh/themes/essembeh.zsh-theme b/home/.oh-my-zsh/themes/essembeh.zsh-theme
new file mode 100644
index 0000000..65abe3a
--- /dev/null
+++ b/home/.oh-my-zsh/themes/essembeh.zsh-theme
@@ -0,0 +1,36 @@
+# My custom theme:
+# - single line
+# - quite simple by default: user@host:$PWD
+# - green for local shell as non root
+# - red for ssh shell as non root
+# - magenta for root sessions
+# - prefix with remote address for ssh shells
+# - prefix to detect docker containers or chroot
+# - git plugin to display current branch and status
+
+# git plugin
+ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[cyan]%}("
+ZSH_THEME_GIT_PROMPT_SUFFIX=") %{$reset_color%}"
+
+
+# by default, use green for user@host and no prefix
+local ZSH_ESSEMBEH_COLOR="green"
+local ZSH_ESSEMBEH_PREFIX=""
+if [[ -n "$SSH_CONNECTION" ]]; then
+ # display the source address if connected via ssh
+ ZSH_ESSEMBEH_PREFIX="%{$fg[yellow]%}[$(echo $SSH_CONNECTION | awk '{print $1}')]%{$reset_color%} "
+ # use red color to highlight a remote connection
+ ZSH_ESSEMBEH_COLOR="red"
+elif [[ -r /etc/debian_chroot ]]; then
+ # prefix prompt in case of chroot
+ ZSH_ESSEMBEH_PREFIX="%{$fg[yellow]%}[chroot:$(cat /etc/debian_chroot)]%{$reset_color%} "
+elif [[ -r /.dockerenv ]]; then
+ # also prefix prompt inside a docker container
+ ZSH_ESSEMBEH_PREFIX="%{$fg[yellow]%}[docker]%{$reset_color%} "
+fi
+if [[ $UID = 0 ]]; then
+ # always use magenta for root sessions, even in ssh
+ ZSH_ESSEMBEH_COLOR="magenta"
+fi
+PROMPT='${ZSH_ESSEMBEH_PREFIX}%{$fg[$ZSH_ESSEMBEH_COLOR]%}%n@%M%{$reset_color%}:%{%B$fg[yellow]%}%~%{$reset_color%b%} $(git_prompt_info)%(!.#.$) '
+RPROMPT="%(?..%{$fg[red]%}%?%{$reset_color%})"