dotfiles/shell/bashrc
2024-09-19 08:50:00 -06:00

123 lines
3.5 KiB
Bash

#!/bin/bash
# $ printf '[ -f ~/.config/shell/bashrc ] && . ~/.config/shell/bashrc' | sudo tee -a /etc/bash.bashrc
case $- in
*i*) ;;
*) return;;
esac
if ! shopt -oq posix; then
[ -f /usr/share/bash-completion/bash_completion ] &&
. /usr/share/bash-completion/bash_completion
[ -f /etc/bash_completion ] &&
. /etc/bash_completion
fi
[ -f ~/.bash_aliases ] && . ~/.bash_aliases
HISTCONTROL=ignoreboth
HISTSIZE=
HISTFILESIZE=
bind "set completion-ignore-case on"
shopt -s checkwinsize
shopt -s histappend
shopt -s cdspell
shopt -s autocd
set -o vi
PATH="$HOME/.config/scripts/status${PATH:+:${PATH}}"
PATH="$HOME/.config/scripts/menu${PATH:+:${PATH}}"
PATH="$HOME/.config/scripts/menu/xclipmenu${PATH:+:${PATH}}"
PATH="$HOME/.config/scripts/sway${PATH:+:${PATH}}"
PATH="$HOME/.config/scripts/dwm${PATH:+:${PATH}}"
PATH="$HOME/.config/wrappers${PATH:+:${PATH}}"
PATH="$HOME/.config/scripts${PATH:+:${PATH}}"
PATH="$HOME/.local/bin${PATH:+:${PATH}}"
PATH="$HOME/.local/state/nix/profile/bin${PATH:+:${PATH}}"
git_branch() {
GIT_BRANCH="$(git branch 2>/dev/null | sed '/\*/!d;s/^\*\s*//g;s/\s*$//g')"
[ -n "$GIT_BRANCH" ] && printf "%s " "$GIT_BRANCH" || true
}
format_code() {
if [ "${1}" != 0 ] ; then
CODE="${1}"
printf '%s ' "${CODE}"
fi
}
[ -e "/data/data/com.termux" ] && HOSTNAME=" "
[ "${HOSTNAME:=$(hostname -s)}" = "laptop" ] && HOSTNAME="󰌢 "
[ "${HOSTNAME:=$(hostname -s)}" = "home" ] && HOSTNAME="󰒋 "
[ "${HOSTNAME:=$(hostname -s)}" = "desktop" ] && HOSTNAME="󰇅"
PROMPT_COMMAND="echo"
PS1='\[\033[31m\]\[\033[1m\]$(format_code ${?})\[\033[0m\]\
\[\033[2m\][\[\033[0m\] \
\[\033[36m\]${HOSTNAME}\[\033[0m\] \
\[\033[34m\]\W \
\[\033[1m\]\[\033[35m\]$(git_branch)\[\033[0m\]\
\[\033[2m\]] \[\033[0m\]\
\[\033[2m\]\@\[\033[0m\]\
\n\[\033[2m\]$\[\033[0m\] '
alias wget="wget --hsts-file=$XDG_DATA_HOME/wget/wget-hsts"
! command -v sudo >/dev/null 2>&1 &&
alias sudo="doas" &&
complete -cf doas
alias \
src="cd $HOME/.local/src/ && ls" \
cfg="cd $HOME/.config/ && ls" \
tmp="cd $HOME/Desktop/temp/ && ls" \
dsk="cd $HOME/Desktop/ && ls" \
prj="cd $HOME/Desktop/projects && ls" \
doc="cd $HOME/Documents/ && ls" \
dow="cd $HOME/Downloads/ && ls" \
mus="cd $HOME/Music/ && ls" \
prt="cd $HOME/Pictures/Screenshots/ && ls" \
bkg="cd $HOME/Pictures/Backgrounds/ && ls" \
img="cd $HOME/Pictures/ && ls" \
vid="cd $HOME/Videos/ && ls" \
EZA_OPTS="--git --group-directories-first --icons --time-style=long-iso"
command -v exa >/dev/null 2>&1 &&
alias la="exa $EZA_OPTS -alghUum" &&
alias lt="exa $EZA_OPTS -T -L 2" &&
alias ll="exa $EZA_OPTS -alg" &&
alias ls="exa $EZA_OPTS -a1"
command -v eza >/dev/null 2>&1 &&
alias la="eza $EZA_OPTS -alghUum" &&
alias lt="eza $EZA_OPTS -T -L 2" &&
alias ll="eza $EZA_OPTS -alg" &&
alias ls="eza $EZA_OPTS -a1"
command -v trash >/dev/null 2>&1 && alias rm="trash"
alias \
fzf="fzf --cycle --reverse" \
diff="diff --color=auto" \
grep="grep --color=auto" \
calc="bc -l" \
cp="cp -iv" \
mv="mv -iv" \
vim="nvim" \
df-short="df -h | grep -v '\s/dev.*$\|\s/run.*$\|\s/boot.*$'" \
qr-png="qrencode -s 16 -o qr.png" \
qr="qrencode -t ansiutf8" \
clip="xsel -ib" \
[ -f ~/.config/shell/env ] && . ~/.config/shell/env
[ -f ~/.config/shell/kit ] && . ~/.config/shell/kit
if [ "$(tty)" = "/dev/tty1" ] ; then
sleep 0.5
amixer &
exec startx
#exec sway
fi
command -v fetch >/dev/null 2>&1 && fetch min