split bash config and modify bash prompt

This commit is contained in:
2026-02-13 04:42:39 +01:00
parent 2bd6b181f4
commit 1cdc70eb70
11 changed files with 145 additions and 142 deletions

View File

@@ -0,0 +1,74 @@
# better ls
if type "eza" > /dev/null; then
alias ll='eza -bghHlS'
else
alias ll='exa -bghHlS'
fi
# bat (debian)
if type "batcat" >/dev/null 2>&1; then
alias bat='batcat'
fi
# HSTR configuration - add this to ~/.bashrc
alias hh=hstr # hh to be alias for hstr
export HSTR_CONFIG=hicolor # get more colors
shopt -s histappend # append new history items to .bash_history
export HISTCONTROL=ignorespace # leading space hides commands from history
export HISTFILESIZE=10000 # increase history file size (default is 500)
export HISTSIZE=${HISTFILESIZE} # increase history size (default is 500)
# ensure synchronization between bash memory and history file
export PROMPT_COMMAND=( "history -a; history -n;" "${PROMPT_COMMAND[@]}" )
function hstrnotiocsti {
{ READLINE_LINE="$( { </dev/tty hstr -- "${READLINE_LINE}"; } 2>&1 1>&3 3>&- )"; } 3>&1;
READLINE_POINT=${#READLINE_LINE}
}
# if this is interactive shell, then bind hstr to Ctrl-r (for Vi mode check doc)
if [[ $- =~ .*i.* ]]; then bind -x '"\C-r": "hstrnotiocsti"'; fi
export HSTR_TIOCSTI=n
# lf
lfwrapper() {
command lf "$@"
# cleanup
awk '$1 == "archivemount" { print $2 }' /etc/mtab | while read -r mntdir; do
sanitized_input="$(printf "${mntdir}")" # /etc/mtab uses octal representation of spaces (possible other symbols too), printf would convert octal representation, so that it can be used in the umount & rmdir commands.
umount "${sanitized_input}"
rmdir "${sanitized_input}"
done
}
lfcd() {
dir="$(lfwrapper -print-last-dir "$@")"
while ! cd "${dir}" 2>/dev/null; do
dir="$(dirname -- "${dir}")"
done
}
alias lf=lfcd
# ranger
ranger_cd() {
temp_file="$(mktemp -t "ranger_cd.XXXXXXXXXX")"
ranger --choosedir="${temp_file}" -- "${@:-${PWD}}"
if chosen_dir="$(cat -- "${temp_file}")" && [ -n "${chosen_dir}" ] && [ "${chosen_dir}" != "${PWD}" ]; then
cd -- "${chosen_dir}" || exit 1
fi
rm -f -- "${temp_file}"
}
alias ranger=ranger_cd
# mc
# shellcheck source=/dev/null
[[ -f "/usr/libexec/mc/mc.sh" ]] && source "/usr/libexec/mc/mc.sh"
[[ -f "/usr/lib/mc/mc.sh" ]] && source "/usr/lib/mc/mc.sh"
# inside tmux, we don't know if Sway got restarted
if [[ -v TMUX ]]; then
swaymsg() {
SWAYSOCK=${XDG_RUNTIME_DIR}/sway-ipc.${UID}.$(pgrep -x sway).sock
export SWAYSOCK
command swaymsg "$@"
}
fi