mirror of
https://github.com/MillironX/dotfiles.git
synced 2024-12-18 15:38:18 +00:00
31 lines
735 B
Text
31 lines
735 B
Text
|
# Only create aliases if the underlying programs are available
|
||
|
# This allows portability between machines in different states
|
||
|
alias_if_exists () {
|
||
|
ALIAS=${1}
|
||
|
COMMAND=${2}
|
||
|
ARGS=${3}
|
||
|
if [ $(command -v $COMMAND) ]; then
|
||
|
if [ -n "$ARGS" ]; then
|
||
|
alias $ALIAS="$COMMAND $ARGS"
|
||
|
else
|
||
|
alias $ALIAS="$COMMAND"
|
||
|
fi
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
# Context-sensitive aliases
|
||
|
alias_if_exists config git '--git-dir=$HOME/.cfg/ --work-tree=$HOME'
|
||
|
alias_if_exists bat batcat
|
||
|
alias_if_exists cat bat
|
||
|
alias_if_exists ls lsd
|
||
|
|
||
|
# Universal aliases
|
||
|
alias please='sudo $(fc -ln -1)'
|
||
|
alias nrun='__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus="NVIDIA_only"'
|
||
|
|
||
|
# Alias-like functions
|
||
|
nd () {
|
||
|
mkdir "$1"
|
||
|
cd "$1"
|
||
|
}
|