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