dotfiles/.xstefenrc

231 lines
8.0 KiB
Bash
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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