aboutsummaryrefslogtreecommitdiff
path: root/.bashrc
diff options
context:
space:
mode:
Diffstat (limited to '.bashrc')
-rw-r--r--.bashrc145
1 files changed, 145 insertions, 0 deletions
diff --git a/.bashrc b/.bashrc
new file mode 100644
index 0000000..c753172
--- /dev/null
+++ b/.bashrc
@@ -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