113 lines
3 KiB
Bash
113 lines
3 KiB
Bash
#!/bin/bash
|
|
|
|
if test -d ~/.config/shell/profile.d/; then
|
|
for profile in ~/.config/shell/profile.d/*.sh; do
|
|
test -r "$profile" && . "$profile"
|
|
done
|
|
unset profile
|
|
fi
|
|
|
|
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
|
|
|
|
bind "set completion-ignore-case on"
|
|
shopt -s checkwinsize
|
|
shopt -s histappend
|
|
shopt -s cdspell
|
|
shopt -s autocd
|
|
set -o vi
|
|
|
|
HISTCONTROL=ignoreboth
|
|
HISTIZE=
|
|
HISTFILESIZE=
|
|
|
|
if [ -n "$HISTFILE" ] && ! [ -d "${HISTFILE%/*}" ] ; then
|
|
mkdir -p "${HISTFILE%/*}" && touch "$HISTFILE"
|
|
fi
|
|
|
|
_prompt_git_branch() {
|
|
GIT_BRANCH="$(git branch 2>/dev/null | sed '/\*/!d;s/^\*\s*//g;s/\s*$//g')"
|
|
[ -n "$GIT_BRANCH" ] && printf '%s ' "$GIT_BRANCH"
|
|
}
|
|
|
|
PROMPT_COMMAND='if [ "$?" = 0 ]; then EXIT_COLOR="\033[32m"; else EXIT_COLOR="\033[31m"; fi'
|
|
PS1='\
|
|
\[\033[2m\]\A\[\033[0m\] \
|
|
\[\033[34m\]\w\[\033[0m\] \
|
|
\[\033[35m\]\[\033[1m\]$(_prompt_git_branch)\[\033[0m\]\
|
|
\[$(echo -ne $EXIT_COLOR)\]>\[\033[0m\] \
|
|
'
|
|
|
|
! 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/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 -1"
|
|
|
|
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 -1"
|
|
|
|
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" \
|
|
em="emacsclient -c -a 'emacs' $@" \
|
|
wget="wget --hsts-file=$XDG_DATA_HOME/wget/wget-hsts" \
|
|
ssh="ssh ${SSH_CONFIG} " \
|
|
|
|
[ -f ~/.config/shell/kit ] && . ~/.config/shell/kit
|
|
|
|
for func in ~/.config/shell/functions/* ; do
|
|
[ -f "$func" ] && . $func
|
|
done
|
|
|
|
if [ "$(tty)" = "/dev/tty1" ] ; then
|
|
sleep 0.5
|
|
amixer &
|
|
XDG_SESSION_TYPE=x11 GDK_BACKEND=x11 exec startx
|
|
#exec sway
|
|
elif [ "$(tty)" = "/dev/tty2" ] ; then
|
|
sleep 0.5
|
|
exec /usr/lib/plasma-dbus-run-session-if-needed /usr/bin/startplasma-wayland
|
|
fi
|