diff --git a/bashrc b/bashrc new file mode 100644 index 0000000..0d0f26f --- /dev/null +++ b/bashrc @@ -0,0 +1,79 @@ +# So both have export +export PATH=/home/shark/.opencode/bin:$PATH + +# Status display theming +BOLD='\e[1m' +DIM='\e[2m' +RESET='\e[0m' +RED='\e[31m' +GREEN='\e[32m' +YELLOW='\e[33m' +CYAN='\e[36m' +MAGENTA='\e[35m' + +header() { + for ((i=0; i < width - ${#title} - 4; i++)); do printf '─'; done + printf "┐${RESET}\n" +} + +footer() { + local i + printf "${CYAN}" + for ((i=0; i<50; i++)); do printf '─'; done + printf "┘${RESET}\n" +} + +battery_status() { + local pct full now color + pct=$(cat /sys/class/power_supply/BAT0/capacity 2>/dev/null) || { echo " No battery found"; return; } + full=$(cat /sys/class/power_supply/BAT0/energy_full 2>/dev/null) + now=$(cat /sys/class/power_supply/BAT0/energy_now 2>/dev/null) + + if (( pct <= 20 )); then color="$RED" + elif (( pct <= 60 )); then color="$YELLOW" + else color="$GREEN" + fi + + printf " Level: ${BOLD}${color}%s%%${RESET}\n" "$pct" + [ -n "$full" ] && [ -n "$now" ] && printf " Energy: ${DIM}%s / %s Wh${RESET}\n" "$now" "$full" +} + +tunnel_status() { + local output + output=$(ip -br a show 2>/dev/null | while IFS= read -r line; do + case "$line" in + *mullvad*|*wg*|*tun*|*us*|*nl*) + local iface="${line%% *}" rest="${line#* }" + printf " ${BOLD}${MAGENTA}%-10s${RESET} %s\n" "$iface" "$rest" + ;; + esac + done) + if [ -z "$output" ]; then + echo " No tunnel interfaces found" + else + printf '%s\n' "$output" + fi +} + +show_status() { + echo + header "TUNNEL STATUS" + tunnel_status + footer + echo + header "BATTERY STATUS" + battery_status + footer +} + +# aliases (minus my SSH aliases for different servers) +alias batt="cat /sys/class/power_supply/BAT0/capacity" +alias bat="batcat" + +# diff configs for DE or TTY +if [ -n "$DISPLAY" ] || [ -n "$WAYLAND_DISPLAY" ]; then + [ -f ~/.bashrc_de ] && . ~/.bashrc_de +else + [ -f ~/.bashrc_tty ] && . ~/.bashrc_tty +fi + diff --git a/bashrc_de b/bashrc_de new file mode 100644 index 0000000..bb3339d --- /dev/null +++ b/bashrc_de @@ -0,0 +1,2 @@ +fastfetch --config paleofetch +eval "$(starship init bash)" diff --git a/bashrc_tty b/bashrc_tty new file mode 100644 index 0000000..e620ed2 --- /dev/null +++ b/bashrc_tty @@ -0,0 +1,3 @@ +fastfetch --config paleofetch +alias obsd="micro /home/shark/Documents/L1/tty.md" +show_status