diff options
author | Josh Rahm <rahm@google.com> | 2021-11-15 10:22:57 -0700 |
---|---|---|
committer | Josh Rahm <rahm@google.com> | 2021-11-15 10:22:57 -0700 |
commit | eef56cd6f76244cb7ab54a45ac1c60aa3e658f12 (patch) | |
tree | da365c307a74922598df1a610e1d9a767f5afbe9 | |
parent | 509b3462c5957b705ef02d8364b50e8c25c9d0dd (diff) | |
parent | 8492e58a8886c848b9dd6310dc6d2f4345a4a0c5 (diff) | |
download | zshrcd-eef56cd6f76244cb7ab54a45ac1c60aa3e658f12.tar.gz zshrcd-eef56cd6f76244cb7ab54a45ac1c60aa3e658f12.tar.bz2 zshrcd-eef56cd6f76244cb7ab54a45ac1c60aa3e658f12.zip |
Merge branch 'main' of git.josher.dev:zshrcd
-rw-r--r-- | 00-prompt.zsh | 56 | ||||
-rw-r--r-- | prompts/hadron.zsh | 62 | ||||
-rw-r--r-- | prompts/lepton.zsh | 2 | ||||
-rw-r--r-- | prompts/photon.zsh | 35 | ||||
-rw-r--r-- | zshrc | 2 |
5 files changed, 153 insertions, 4 deletions
diff --git a/00-prompt.zsh b/00-prompt.zsh index 439a25d..b27691f 100644 --- a/00-prompt.zsh +++ b/00-prompt.zsh @@ -1,2 +1,54 @@ -source "$HOME/.zshrc.d/prompts/$(hostname).zsh" 2>/dev/null || \ - source "$HOME/.zshrc.d/local/prompts/$(hostname).zsh" 2>/dev/null +hostname=$( which hostname &>/dev/null && hostname || cat /etc/hostname ) + +# Creates simple prompts for my many machines. # +# The first argument to the prompts is the primary color +# second argument is secondary color. + +GREEN="%{\x1b[01;32m%}" +RED="%{\x1b[01;31m%}" +RESET="%{\x1b[00m%}" + +function distro_logo { + case "$(uname -a)" in + *-arch*) echo "%{\033[01;38;2;21;118;167m%}$RESET" ;; + *Debian*) echo "%{\033[01;38;2;170;6;64m%}$RESET" ;; + *Ubuntu*) echo "%{\033[01;38;2;172;61;24m%}$RESET" ;; + *fc*) echo "%{\033[01;38;2;21;118;167m%}$RESET" ;; + *gentoo*) echo "%{\033[01;38;2;126;126;183m%}$RESET" ;; + *Linux*) echo "%{\033[01;37m%}$RESET" ;; + *BSD*) echo "%{\033[01;31m%}$RESET" ;; + esac +} + +function simple_prompt { + ec=$? + preamble="" + + default="${2}" + if [ "$ec" -eq "0" ] ; then + code="${GREEN}--${default}" + else + code="${RED}$(printf '%02x' $ec)${default}" + fi + + name="${1}%n@${default}" + host="${1}%m${default}" + directory="${2}%2~${default}" + + echo " ${default}$(distro_logo) ${code} ${name}${host} ${directory} · %{\x1b[00m%}" +} + +function simple_rprompt { + default="${2}" + time="${1}%*${default}" + echo "${default}← ${time} ${RESET}" +} + +setopt prompt_subst + +# Source the actual prompt file corresponding to this host. + +source "$HOME/.zshrc.d/prompts/${hostname}.zsh" 2>/dev/null || \ + source "$HOME/.zshrc.d/local/prompts/${hostname}.zsh" 2>/dev/null + +PROMPT='[5 q'"$PROMPT" diff --git a/prompts/hadron.zsh b/prompts/hadron.zsh new file mode 100644 index 0000000..e48d4bb --- /dev/null +++ b/prompts/hadron.zsh @@ -0,0 +1,62 @@ +grey='\e[0;90m' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[cyan]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="]%{$fg[red]%}▲%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="] " + +GREEN="%{\x1b[01;32m%}" +PURPLE="%{\x1b[01;35m%}" +RED="%{\x1b[01;31m%}" +RESET="%{\x1b[00m%}" + +# let g:terminal_color_0="#282828" +terminal_color_1="${GREEN}" +terminal_color_2="${PURPLE}" +terminal_color_3="${GREEN}" +terminal_color_4="${PURPLE}" +terminal_color_5="${PURPLE}" +terminal_color_6="${PURPLE}" +terminal_color_7="${PURPLE}" +# let g:terminal_color_8="#928374" +# let g:terminal_color_9="#fb4934" +# let g:terminal_color_10="#b8bb26" +# let g:terminal_color_11="#fabd2f" +# let g:terminal_color_12="#83a598" +# let g:terminal_color_13="#d3869b" +# let g:terminal_color_14="#8ec07c" +# let g:terminal_color_15="#ebdbb2" + + +# ZSH_THEME_GIT_PROMPT_PREFIX="a(" +# ZSH_THEME_GIT_PROMPT_SUFFIX="b" + +function rahm_prompt { + ec=$? + preamble="" + + default="${terminal_color_4}" + if [ "$ec" -eq "0" ] ; then + code="${GREEN}--${default}" + else + code="${RED}$(printf '%02x' $ec)${default}" + fi + + underline='' + name="${terminal_color_1}%n@${default}" + host="${terminal_color_3}%m${default}" + directory="${terminal_color_2}%2~${default}" + + echo "${default}𝜆₀ ${code} ${underline}${name}${host} ${directory} · %{\x1b[00m%}" +} + +function rahm_rprompt { + default="${terminal_color_4}" + time="${terminal_color_3}%*${default}" + echo "${default}← ${time} ${RESET}" +} + +setopt prompt_subst + +PROMPT='$(rahm_prompt)' +RPROMPT='$(rahm_rprompt)' diff --git a/prompts/lepton.zsh b/prompts/lepton.zsh new file mode 100644 index 0000000..d85541c --- /dev/null +++ b/prompts/lepton.zsh @@ -0,0 +1,2 @@ +PROMPT='$(simple_prompt "%{\x1b[01;36m%}" "%{\x1b[01;38;05;243m%}")' +RPROMPT='$(simple_rprompt "%{\x1b[01;36m%}" "%{\x1b[01;38;05;243m%}")' diff --git a/prompts/photon.zsh b/prompts/photon.zsh new file mode 100644 index 0000000..026b530 --- /dev/null +++ b/prompts/photon.zsh @@ -0,0 +1,35 @@ +grey='\e[0;90m' + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[cyan]%}[" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_DIRTY="]%{$fg[red]%}▲%{$reset_color%}" +ZSH_THEME_GIT_PROMPT_CLEAN="] " + +GREEN="%{\x1b[01;32m%}" +PURPLE="%{\x1b[01;35m%}" +GRAY="%{\x1b[01;38;5;238m%}" +ORANGE="%{\x1b[01;38;5;166m%}" +YELLOW="%{\x1b[01;33m%}" +RED="%{\x1b[01;31m%}" +RESET="%{\x1b[00m%}" + +terminal_color_1="${ORANGE}" +terminal_color_2="${YELLOW}" +terminal_color_3="${ORANGE}" +terminal_color_4="${YELLOW}" +terminal_color_5="${YELLOW}" +terminal_color_6="${YELLOW}" +terminal_color_7="${YELLOW}" + +function rahm_prompt { + power_prompt "$?" +} + +function rahm_rprompt { + power_prompt "$?" r +} + +setopt prompt_subst + +PROMPT='$(rahm_prompt)' +RPROMPT='$(rahm_rprompt)' @@ -1,5 +1,3 @@ -source /etc/profile - for f in $HOME/.zshrc.d/*.zsh ; do source "$f" done || true |