diff options
Diffstat (limited to '.bashrc')
| -rw-r--r-- | .bashrc | 145 |
1 files changed, 145 insertions, 0 deletions
@@ -0,0 +1,145 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +command_exists() { + command -v "$1" >/dev/null 2>&1 +} + +if [[ $- == *i* ]] && [[ -f "/usr/share/blesh/ble.sh" ]]; then + source /usr/share/blesh/ble.sh --noattach +fi + +export PATH="$PATH:/home/umberto/.cargo/bin:$ANDROID_HOME/emulator:/home/umberto/go/bin" +export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 +export DPREFIX=/mnt/drive_d/.dprefix +export EDITOR=nvim +export HISTSIZE=10000 +export HISTFILESIZE=10000 +export BAT_THEME=rose-pine + +# export TERM=xterm-256color + +YELLOW="\[$(tput setaf 3)\]" +GREEN="\[$(tput setaf 2)\]" +RED="\[$(tput setaf 1)\]" +BLUE="\[$(tput setaf 4)\]" +RESET="\[$(tput sgr0)\]" + +dockersize() { + docker manifest inspect -v "$1" | + jq -c 'if type == "array" then .[] else . end' | + jq -r '[ ( .Descriptor.platform | [ .os, .architecture, .variant, ."os.version" ] | del(..|nulls) | join("/") ), ( [ ( .OCIManifest // .SchemaV2Manifest ).layers[].size ] | add ) ] | join(" ")' | + numfmt --to iec --format '%.2f' --field 2 | + sort | column -t ; +} + +avg_time() { + # + # usage: avg_time n command ... + # + n=$1; shift + (($# > 0)) || return # bail if no command given + for ((i = 0; i < n; i++)); do + { time -p "$@" &>/dev/null; } 2>&1 # ignore the output of the command + # but collect time's output in stdout + done | awk ' + /real/ { real = real + $2; nr++ } + /user/ { user = user + $2; nu++ } + /sys/ { sys = sys + $2; ns++} + END { + if (nr>0) printf("real %f\n", real/nr); + if (nu>0) printf("user %f\n", user/nu); + if (ns>0) printf("sys %f\n", sys/ns) + }' +} + +key() +{ + pidof ssh-agent + if [[ $? -eq 1 ]] || [[ -z "${SSH_AGENT_PID}" ]]; then + killall ssh-agent ; eval $(ssh-agent -t 4h) && ssh-add ~/.ssh/id_ed25519 + elif [[ "$1" == "--force" ]] || [ "$1" == "-f" ]; then + killall ssh-agent ; eval $(ssh-agent -t 4h) && ssh-add ~/.ssh/id_ed25519 + fi +} + +starter() { + newsboat + sudo pacman -Syu + setxkbmap hu -option caps:escape + read -p "Update AUR packages? [Y/n]: " aur_pkgs + if [[ -z "$aur_pkgs" ]] || [[ "$aur_pkgs" == "Y" ]] || [[ "$aur_pkgs" == "y" ]]; then + tmux new-session 'aur ; bash' + fi +} + +alias ..='cd ..' +alias ...='cd ../..' +alias ....='cd ../../..' +alias btm='btm --enable_gpu' +alias ls='ls --color=auto' +alias grep='grep --color=auto' +alias eza='eza --icons' +alias tree='eza --tree' +alias ncdu='ncdu -t4' +alias fvim='nvim $(fzf)' +alias c='clear' +alias d='cd /mnt/drive_d/' +alias q='cd /mnt/drive_d/Quest/' +alias pac='sudo pacman' +alias pacs="pacman -Slq | fzf --preview 'pacman -Sii {}' --layout=reverse --bind 'enter:execute(pacman -Sii {} | less)'" +alias paci="pacman -Qq | fzf --preview 'pacman -Qi {}' --layout=reverse --bind 'enter:execute(pacman -Qi {} | less)'" +alias orphans='pacman -Qdtq && pacman -Qdtq | pac -Rns -' +alias cls='c && eza' +alias cla='c && eza -a' +alias lazygit='key && lazygit' +alias diff='diff --color -up' +alias emu='emulator -avd Pixel_3a_API_34_extension_level_7_x86_64 -accel on -gpu host -memory 3072' +alias proton='STEAM_COMPAT_DATA_PATH=$HOME/proton/compatdata/ STEAM_COMPAT_CLIENT_INSTALL_PATH=/ ~/proton/GE-Proton9-11/proton waitforexitandrun' + +source ~/.git-completion.bash + +parse_git_bg() { + if [[ $(git status -s 2> /dev/null) ]]; then + tput setaf 160 + else + tput setaf 34 + fi +} + +PS1="╭─${YELLOW}" +PS1+="\u${GREEN}" +PS1+="@${RED}" +PS1+="\h${BLUE} " +PS1+="\W${RESET}" +PS1+="\$(git branch 2> /dev/null | grep '^*' | colrm 1 2 | xargs -I BRANCH echo -n \"" +PS1+="\$(parse_git_bg) " +PS1+=" (BRANCH) " +PS1+="${RESET}\")\n" +PS1+="╰─" +PS1+="\\$ " +PS1+="${RESET}" +export PS1 + +# pnpm +export PNPM_HOME="/home/umberto/.local/share/pnpm" +case ":$PATH:" in + *":$PNPM_HOME:"*) ;; + *) export PATH="$PNPM_HOME:$PATH" ;; +esac +# pnpm end + +export FZF_DEFAULT_OPTS=" + --color=fg:#908caa,bg:#191724,hl:#ebbcba + --color=fg+:#e0def4,bg+:#26233a,hl+:#ebbcba + --color=border:#403d52,header:#31748f,gutter:#191724 + --color=spinner:#f6c177,info:#9ccfd8,separator:#403d52 + --color=pointer:#c4a7e7,marker:#eb6f92,prompt:#908caa" + +command_exists fetcha && fetcha + +[[ ${BLE_VERSION-} ]] && ble-attach |
