Add .bashrc
This commit is contained in:
parent
8a3010b63c
commit
f80c45dc3e
1 changed files with 112 additions and 0 deletions
112
dot_bashrc
Normal file
112
dot_bashrc
Normal file
|
|
@ -0,0 +1,112 @@
|
||||||
|
# .bashrc
|
||||||
|
|
||||||
|
###########################
|
||||||
|
# Essential Shell Stuff #
|
||||||
|
###########################
|
||||||
|
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
export PATH="$HOME/.cargo/bin:$PATH"
|
||||||
|
set +h
|
||||||
|
[[ $- == *i* ]] && bind -f ~/.inputrc
|
||||||
|
|
||||||
|
shopt -s histappend
|
||||||
|
HISTCONTROL=ignoreboth
|
||||||
|
HISTSIZE=32768
|
||||||
|
HISTFILESIZE="${HISTSIZE}"
|
||||||
|
|
||||||
|
if [[ ! -v BASH_COMPLETION_VERSINFO && -f /usr/share/bash-completion/bash_completion ]]; then
|
||||||
|
source /usr/share/bash-completion/bash_completion
|
||||||
|
fi
|
||||||
|
|
||||||
|
export SUDO_EDITOR="$EDITOR"
|
||||||
|
export SYSTEMD_EDITOR="$EDITOR"
|
||||||
|
export BAT_THEME=ansi
|
||||||
|
|
||||||
|
force_color_prompt=yes
|
||||||
|
color_prompt=yes
|
||||||
|
|
||||||
|
if command -v mise &> /dev/null; then
|
||||||
|
eval "$(mise activate bash)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if command -v starship &> /dev/null; then
|
||||||
|
eval "$(starship init bash)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if command -v zoxide &> /dev/null; then
|
||||||
|
eval "$(zoxide init bash)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if command -v fzf &> /dev/null; then
|
||||||
|
if [[ -f /usr/share/fzf/completion.bash ]]; then
|
||||||
|
source /usr/share/fzf/completion.bash
|
||||||
|
fi
|
||||||
|
if [[ -f /usr/share/fzf/key-bindings.bash ]]; then
|
||||||
|
source /usr/share/fzf/key-bindings.bash
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
###########################
|
||||||
|
# Filesystem Navigation #
|
||||||
|
###########################
|
||||||
|
|
||||||
|
alias ls='eza -lh --group-directories-first --icons=auto'
|
||||||
|
alias lsa='ls -a'
|
||||||
|
alias lt='eza --tree --level=2 --long --icons --git'
|
||||||
|
alias lta='lt -a'
|
||||||
|
alias ff="fzf --preview 'bat --style=numbers --color=always {}'"
|
||||||
|
alias cd="zd"
|
||||||
|
zd() {
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
builtin cd ~ && return
|
||||||
|
elif [ -d "$1" ]; then
|
||||||
|
builtin cd "$1"
|
||||||
|
else
|
||||||
|
z "$@" && printf "\U000F17A9 " && pwd || echo "Error: Directory not found"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
open() {
|
||||||
|
xdg-open "$@" >/dev/null 2>&1 &
|
||||||
|
}
|
||||||
|
|
||||||
|
alias ..='cd ..'
|
||||||
|
alias ...='cd ../..'
|
||||||
|
alias ....='cd ../../..'
|
||||||
|
alias .....='cd ../../../../'
|
||||||
|
|
||||||
|
if [ -f "$HOME/.config/user-dirs.dirs" ]; then
|
||||||
|
source "$HOME/.config/user-dirs.dirs"
|
||||||
|
fi
|
||||||
|
|
||||||
|
alias dcim="cd ~/dcim"
|
||||||
|
alias docs="cd ${XDG_DOCUMENTS_DIR:-$HOME/Documents}"
|
||||||
|
alias notes="cd ${XDG_DOCUMENTS_DIR:-$HOME/Documents}/lib && ls"
|
||||||
|
alias dl="cd ${XDG_DOWNLOAD_DIR:-$HOME/Downloads}"
|
||||||
|
alias dt="cd ${XDG_DESKTOP_DIR:-$HOME/Desktop}"
|
||||||
|
alias music="cd ${XDG_MUSIC_DIR:-$HOME/Music}"
|
||||||
|
alias pics="cd ${XDG_PICTURES_DIR:-$HOME/Pictures}"
|
||||||
|
alias vids="cd ${XDG_VIDEOS_DIR:-$HOME/Videos}"
|
||||||
|
|
||||||
|
repo() {
|
||||||
|
local SRC_DIRECTORY="${1:-$HOME/src}"
|
||||||
|
local repo=$(
|
||||||
|
find "${SRC_DIRECTORY}" \
|
||||||
|
-mindepth 1 \
|
||||||
|
-maxdepth 3 \
|
||||||
|
-type d \
|
||||||
|
-exec test -d "{}/.git" \; -print \
|
||||||
|
| sed "s|${SRC_DIRECTORY}/||" \
|
||||||
|
| fzf \
|
||||||
|
--preview "([ -f $SRC_DIRECTORY/{}/README.md ] && bat --style=plain --color=always $SRC_DIRECTORY/{}/README.md || echo 'No README'; echo; git -C $SRC_DIRECTORY/{} status --short --branch)" \
|
||||||
|
--preview-window=up:60%) \
|
||||||
|
|| return
|
||||||
|
cd "${SRC_DIRECTORY}/$repo" || { echo "Failed to cd"; return; }
|
||||||
|
}
|
||||||
|
|
||||||
|
###########################
|
||||||
|
# Miscellaneous #
|
||||||
|
###########################
|
||||||
|
|
||||||
|
compress() { tar -czf "${1%/}.tar.gz" "${1%/}"; }
|
||||||
|
alias decompress="tar -xzf"
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue