opt/zion-terminal/config/bashrc-zion.sh (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# =====================================================================
# ZION TERMINAL - Ambiente interativo (aliases + prompt)
# Cyberdeck criado por Pablo Murad em 2026
# Carregado pelo ~/.bashrc. Desative o prompt com: touch ~/.zion-sem-prompt
# =====================================================================
case $- in *i*) ;; *) return ;; esac
[ -n "${ZION_BASHRC_LOADED:-}" ] && return; ZION_BASHRC_LOADED=1
. /opt/zion-terminal/config/tema.sh 2>/dev/null
# --- Aliases do ZION ---
alias zz='zion'
alias zstatus='zion status'; alias znet='zion rede'; alias ztail='zion tailscale'
alias zssh='zion ssh'; alias zlogs='zion logs'; alias zupdate='zion atualizar'
alias ztemp='zion saude'; alias zdisco='df -h /'; alias zservicos='systemctl --failed'
alias ztmux='zion tmux'; alias zmatrix='zion matrix'; alias zdoctor='zion doctor'
alias zlink='zion link'; alias zmodo='zion modo'
alias ll='ls -alh --color=auto'; alias la='ls -A --color=auto'
command -v fdfind >/dev/null && alias fd='fdfind'
command -v batcat >/dev/null && alias bat='batcat'
# --- Prompt autoral (segue o tema, mostra git-sujo/root/erro) --------
_zion_prompt() {
local ec=$?
if [ -e "$HOME/.zion-sem-prompt" ]; then PS1='\u@\h:\w\$ '; return; fi
if [ "${TERM:-dumb}" = dumb ]; then PS1='zion> '; return; fi
local temp gcor branch gi ecd uc mark tema
temp=$(cat /sys/class/thermal/thermal_zone0/temp 2>/dev/null); temp=$((temp/1000))
if [ "$temp" -ge 80 ]; then gcor="$ZCRIT"
elif [ "$temp" -ge 65 ]; then gcor="$ZWARN"
else gcor="$ZOK"; fi
branch=$(git symbolic-ref --short HEAD 2>/dev/null || git rev-parse --short HEAD 2>/dev/null)
if [ -n "$branch" ]; then
local mk cor
if git diff --quiet --ignore-submodules HEAD 2>/dev/null; then mk='✓'; cor="$ZOK"; else mk='✗'; cor="$ZWARN"; fi
gi=" \[$ZDISC\][\[$ZS\]${branch}\[$ZDISC\] \[$cor\]${mk}\[$ZDISC\]]\[$ZR\]"
fi
[ "$ec" -ne 0 ] && ecd=" \[$ZCRIT\]✗${ec}\[$ZR\]"
uc="$ZA"; mark='❯'
[ "$(id -u)" -eq 0 ] && { uc="$ZCRIT"; mark='#'; }
PS1="\[$ZP$ZB\]$ZSYM\[$ZR\] \[$uc\]ZION:\u\[$ZR\] \[$ZDISC\]\w\[$ZR\]${gi} \[$gcor\]${temp}°\[$ZR\]${ecd}\n\[$ZP\]${mark}\[$ZR\] "
}
if [ "${TERM:-dumb}" != dumb ]; then PROMPT_COMMAND=_zion_prompt; else PS1='zion> '; fi
|