dotfiles/.xstefenrc

231 lines
8.0 KiB
Plaintext
Raw Normal View History

#!/usr/bin/env bash
#echo " ";
#echo " ▐▄• ▄ .▄▄ · ▄▄▄▄▄▄▄▄ .·▄▄▄▄▄▄ . ▐ ▄ ▄▄▄ ▄▄· ";
#echo " █▌█▌▪▐█ ▀. •██ ▀▄.▀·▐▄▄·▀▄.▀·•█▌▐█▀▄ █·▐█ ▌▪";
#echo " ·██· ▄▀▀▀█▄ ▐█.▪▐▀▀▪▄██▪ ▐▀▀▪▄▐█▐▐▌▐▀▀▄ ██ ▄▄";
#echo " ▪▐█·█▌▐█▄▪▐█ ▐█▌·▐█▄▄▌██▌.▐█▄▄▌██▐█▌▐█•█▌▐███▌";
#echo " ▀ •▀▀ ▀▀ ▀▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀ ▀▀▀ ▀▀ █▪.▀ ▀·▀▀▀ ";
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
# shopt
shopt -s autocd # change to named directory
shopt -s cdspell # autocorrects cd misspellings
shopt -s checkwinsize # checks term size when bash regains control
shopt -s cmdhist # save multi-line commands in history as single line
shopt -s dotglob # include dotfiles in filename expansion
shopt -s expand_aliases # expand aliases
shopt -s extglob # extended pattern matching
shopt -s histappend # do not overwrite history
# tab-completion
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
# start gpg/ssh-agent
unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi
export GPG_TTY=$(tty)
gpg-connect-agent updatestartuptty /bye >/dev/null
# if ! pgrep -u "$USER" ssh-agent >/dev/null; then
# ssh-agent -t 1h >"$XDG_RUNTIME_DIR/ssh-agent.env"
# fi
# if [[ ! "$SSH_AUTH_SOCK" ]]; then
# source "$XDG_RUNTIME_DIR/ssh-agent.env" >/dev/null
# fi
envsetup() {
umask 022
alias which='command -v'
source build/envsetup.sh
export LANG=C.UTF-8
export _JAVA_OPTIONS=-XX:-UsePerfData
export BUILD_DATETIME=$(cat out/build_date.txt 2>/dev/null || date -u +%s)
echo "BUILD_DATETIME=$BUILD_DATETIME"
export BUILD_NUMBER=$(cat out/soong/build_number.txt 2>/dev/null || date -u -d @$BUILD_DATETIME +%Y%m%d00)
echo "BUILD_NUMBER=$BUILD_NUMBER"
export DISPLAY_BUILD_NUMBER=true
export BUILD_USERNAME=\u0000
export BUILD_HOSTNAME=\u0000
}
# extract | usage: ex <file>
ex()
{
if [ -f "$1" ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*.deb) ar x $1 ;;
*.tar.xz) tar xf $1 ;;
*.tar.zst) unzstd $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
# git-cherry-pick | usage: gcp <github commit url>
gcp() {
GCP_GIVEN=$1
GCP_URL=$(echo ${GCP_GIVEN} | awk -F'/' '{print $1FS$2FS$3FS$4FS$5}')
GCP_COMMIT=$(echo ${GCP_GIVEN} | awk -F'/' '{print $7}')
git fetch $GCP_URL $GCP_COMMIT && git cherry-pick FETCH_HEAD
}
# installed? | usage: is_available <executable>
is_available() {
command -v "$1" >/dev/null 2>&1
}
# List lib dependencies of any lib/bin
list_blob_deps() {
readelf -d $1 | grep "\(NEEDED\)" | sed -r "s/.*\[(.*)\]/\1/"
}
# pixeldrain upload | usage: pdup <file>
PD_API_KEY="$(cat /mnt/files/Documents/store/pixeldrain)"
pdup() {
[ -z "$1" ] && echo "Error: File not specified!" && return
ID=$(curl --progress-bar -T "$1" -u :$PD_API_KEY https://pixeldrain.com/api/file/ | cat | grep -Po '(?<="id":")[^"]*')
echo -e "\nhttps://pixeldrain.com/u/$ID"
}
# repo sync++ | usage: repofastsync <optional flags/repo>
repofastsync() {
#time schedtool -B -e ionice -n 1 \
time "$(command -v repo)" sync \
-c --no-tags --no-clone-bundle --force-sync -j16 \
"$@"
}
# random color-script scheme test
scheme_test() {
local COLOR_SCRIPT_REPO=https://api.github.com/repos/stark/Color-Scripts/contents/color-scripts
wget -q -O - $(curl -s $COLOR_SCRIPT_REPO | jq '.[] | "\(.path) \(.download_url)"' -r | shuf -n1 | cut -d " " -f2) | bash
}
# tere file explorer | usage: tere
tere() {
local result=$(command tere "$@")
[ -n "$result" ] && cd -- "$result"
}
# fetch random git commit message
whatthecommit() {
curl --silent --fail https://whatthecommit.com/index.txt
}
# aliases
alias ..="cd .."
alias adp="adb push"
alias cls="echo -e '\0033\0143'"
alias config="/usr/bin/git --git-dir=$HOME/dotfiles --work-tree=$HOME"
alias cp="cp -i"
alias df="df -h"
alias du="du -c -h"
alias e="$EDITOR"
alias fetch="neofetch --ascii ~/.config/neofetch/logo-ascii"
alias free="free -m"
alias grep="grep --color=tty -d skip"
alias jctl="journalctl -p 3 -xb"
alias ls='exa -l --color=always --group-directories-first'
alias ll='exa -al --color=always --group-directories-first'
alias lt='exa -aT --color=always --group-directories-first'
alias l.='exa -a | egrep "^\."'
alias merge='xrdb -merge ~/.Xresources'
alias mirror="sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist"
alias mirrord="sudo reflector --latest 50 --number 20 --sort delay --save /etc/pacman.d/mirrorlist"
alias mirrors="sudo reflector --latest 50 --number 20 --sort score --save /etc/pacman.d/mirrorlist"
alias mirrora="sudo reflector --latest 50 --number 20 --sort age --save /etc/pacman.d/mirrorlist"
alias mkcheetah="m otatools vendorbootimage vendorkernelbootimage target-files-package"
alias mkdir="mkdir -p -v"
alias more="less"
alias mv="mv -i"
alias nano="nano -au"
alias ping="ping -c 5"
alias psa="ps auxf"
alias psgrep="ps aux | grep -v grep | grep -i -e VSZ -e"
alias psmem='ps auxf | sort -nr -k 4'
alias pscpu='ps auxf | sort -nr -k 3'
alias qr_read="maim -qs | zbarimg -q --raw - | xclip -selection clipboard -f"
alias reboot="sudo systemctl -i reboot"
alias reload="clear && reset && cls && source $HOME/.xstefenrc"
alias rm="rm -i"
alias rp="repopick "
alias rr='curl -s -L https://raw.githubusercontent.com/keroserene/rickrollrc/master/roll.sh | bash'
alias showcommands="croot && gzip -cd out/verbose.log.gz | less -R"
alias ss_sel_clip="maim -s | xclip -selection clipboard -t image/png"
alias ss_active_save="maim -i $(xdotool getactivewindow) ~/Pictures/maim$(date +%s).jpg"
alias ss_full_save="maim ~/Pictures/maim-$(date +%s).png"
alias startx="startx $HOME/.xinitrc $@"
if is_available doas; then
complete -cf doas
alias sudoedit="doas rnano"
else
alias sudo="sudo "
fi
alias sysu="systemctl --user"
alias update-grub="grub-mkconfig -o /boot/grub/grub.cfg"
alias wget="wget -c -t 0 --retry-connrefused"
alias wttr="curl wttr.in/dfw?format=3"
alias obxp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\""'
#alias xup="sudo pacman -Sy && sudo powerpill -Su && paru -Su"
alias xup='yay'
alias yabs="curl -sL yabs.sh | bash"
# env vars
export USE_CCACHE=1
export CCACHE_DIR="/mnt/ccache"
export CCACHE_EXEC="$(command -v ccache)"
export EDITOR="nano"
export WITHOUT_CHECK_API=true
export SKIP_ABI_CHECKS=true
export WITH_GAPPS=true
export WITH_GMS=true
export KERNEL_LTO=thin
#export GLOBAL_THINLTO=true
export USE_THINLTO_CACHE=true
# mounts / path
[[ $PATH != ?(*:)$HOME/.local/bin?(:*) ]] && export PATH=$HOME/.local/bin:$PATH
[[ $PATH != ?(*:)$HOME/.cargo/bin?(:*) ]] && export PATH=$PATH:$HOME/.cargo/bin
[[ ! $(findmnt -rno SOURCE,TARGET /mnt/ccache) ]] && mount /mnt/ccache
# ------------------------------------------------------------------
# misc
# ------------------------------------------------------------------
# mondays
eval $(thefuck --alias FUCK)
# sudo prompt colors
export SUDO_PROMPT="$(tput bold setab 1 setaf 7)[sudo]$(tput sgr0) $(tput setaf 6)password for$(tput sgr0) $(tput setaf 5)%p$(tput sgr0): "
# prompt
#colorscript -e random
#eval "$(starship init bash)"
SBP_PATH=$HOME/.sbp
. ${SBP_PATH}/sbp.bash