.profile: Use wrapper function for command detection
This commit is contained in:
parent
77bf3a4a0d
commit
040fce1825
25
.profile
25
.profile
@ -60,8 +60,14 @@ PATH="$desiredpath:$PATH"
|
|||||||
# Source ~/.functions, if it exists
|
# Source ~/.functions, if it exists
|
||||||
[ -r "$HOME/.functions" ] && [ "$_baseshell" != "sh" ] && . "$HOME/.functions"
|
[ -r "$HOME/.functions" ] && [ "$_baseshell" != "sh" ] && . "$HOME/.functions"
|
||||||
|
|
||||||
|
# Define a require function
|
||||||
|
has() {
|
||||||
|
[ -z "$1" ] && return 1
|
||||||
|
command -v "$1" > /dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
# Grab pip completion, if it exists
|
# Grab pip completion, if it exists
|
||||||
if command -v pip > /dev/null 2>&1; then
|
if has pip; then
|
||||||
case "$_baseshell" in
|
case "$_baseshell" in
|
||||||
*bash)
|
*bash)
|
||||||
if ! [ -f "$HOME/.pip-completion-bash" ]; then
|
if ! [ -f "$HOME/.pip-completion-bash" ]; then
|
||||||
@ -83,13 +89,13 @@ if command -v pip > /dev/null 2>&1; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Set up go, if we have it
|
# Set up go, if we have it
|
||||||
if command -v go > /dev/null 2>&1; then
|
if has go; then
|
||||||
export GOPATH="$HOME/.local/go"
|
export GOPATH="$HOME/.local/go"
|
||||||
[ "${PATH#*$GOPATH}" = "$PATH" ] && export PATH="$PATH:$GOPATH/bin"
|
[ "${PATH#*$GOPATH}" = "$PATH" ] && export PATH="$PATH:$GOPATH/bin"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Grab dircolors, if it exists
|
# Grab dircolors, if it exists
|
||||||
if command -v dircolors > /dev/null 2>&1; then
|
if has dircolors; then
|
||||||
dircolorsfile="$HOME/.config/dircolors"
|
dircolorsfile="$HOME/.config/dircolors"
|
||||||
if [ -r "$dircolorsfile" ]; then
|
if [ -r "$dircolorsfile" ]; then
|
||||||
eval "$(dircolors "$dircolorsfile")"
|
eval "$(dircolors "$dircolorsfile")"
|
||||||
@ -108,27 +114,27 @@ done
|
|||||||
alias e='$EDITOR'
|
alias e='$EDITOR'
|
||||||
|
|
||||||
# If emerge exists, add emerge aliases
|
# If emerge exists, add emerge aliases
|
||||||
if command -v emerge > /dev/null 2>&1 ; then
|
if has emerge; then
|
||||||
alias e-depclean='sudo emerge -a --depclean'
|
alias e-depclean='sudo emerge -a --depclean'
|
||||||
alias e-inst='sudo emerge -a --jobs --tree --quiet-build y'
|
alias e-inst='sudo emerge -a --jobs --tree --quiet-build y'
|
||||||
alias e-upgrade='sudo emerge -DNUua --jobs --tree --quiet-build y --with-bdeps=y --keep-going --backtrack=1000 @world'
|
alias e-upgrade='sudo emerge -DNUua --jobs --tree --quiet-build y --with-bdeps=y --keep-going --backtrack=1000 @world'
|
||||||
alias e-newuse='sudo emerge -Uva --jobs --tree --quiet-build y @world'
|
alias e-newuse='sudo emerge -Uva --jobs --tree --quiet-build y @world'
|
||||||
alias e-search='emerge -s'
|
alias e-search='emerge -s'
|
||||||
alias e-sync='sudo emerge --sync'
|
alias e-sync='sudo emerge --sync'
|
||||||
if command -v eclean > /dev/null 2>&1; then
|
if has eclean; then
|
||||||
alias e-cleanup='sudo eclean -d distfiles && sudo eclean -d packages'
|
alias e-cleanup='sudo eclean -d distfiles && sudo eclean -d packages'
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# If we have instantmusic, add aliases for that
|
# If we have instantmusic, add aliases for that
|
||||||
if command -v instantmusic > /dev/null 2>&1; then
|
if has instantmusic; then
|
||||||
alias song='instantmusic -p -s'
|
alias song='instantmusic -p -s'
|
||||||
alias songp='instantmusic -s'
|
alias songp='instantmusic -s'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Dictionary aliases
|
# Dictionary aliases
|
||||||
if ! command -v define > /dev/null 2>&1; then
|
if ! has define; then
|
||||||
if command -v mate-dictionary > /dev/null 2>&1; then
|
if has mate-dictionary; then
|
||||||
alias define='mate-dictionary -n --look-up'
|
alias define='mate-dictionary -n --look-up'
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -242,5 +248,6 @@ case "$_baseshell" in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
# Clean up
|
# Clean up
|
||||||
unset _baseshell
|
unset -v _baseshell
|
||||||
|
unset -f has
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user