Make feature defaults depend on existence of respective binaries.
parent
1d75fdd1c4
commit
ae37c9ed53
|
@ -3,26 +3,6 @@
|
|||
# just for this profile code
|
||||
PROFILE_DEBUG="${PROFILE_DEBUG:-0}"
|
||||
|
||||
# features
|
||||
PROFILE_ALIAS=${PROFILE_ALIAS:-1}
|
||||
PROFILE_BIN=${PROFILE_BIN:-1}
|
||||
PROFILE_DEFAULT_TERM=${PROFILE_DEFAULT_TERM:-1}
|
||||
PROFILE_GO=${PROFILE_GO:-1}
|
||||
PROFILE_GPG_PINENTRY_FIX=${PROFILE_GPG_PINENTRY_FIX:-1}
|
||||
PROFILE_IBUS=${PROFILE_IBUS:-1}
|
||||
PROFILE_KEYCHAIN=${PROFILE_KEYCHAIN:-0}
|
||||
PROFILE_NANO=${PROFILE_NANO:-1}
|
||||
PROFILE_NANO_EXPLICIT_WIDE=${PROFILE_NANO_EXPLICIT_WIDE:-0}
|
||||
PROFILE_NO_BEEPS=${PROFILE_NO_BEEPS:-1}
|
||||
PROFILE_NODE=${PROFILE_NODE:-1}
|
||||
PROFILE_PRINT_REBOOT_REQUIRED=${PROFILE_PRINT_REBOOT_REQUIRED:-0} # hacky, see below
|
||||
PROFILE_RUBY=${PROFILE_RUBY:-1}
|
||||
PROFILE_RUST=${PROFILE_RUST:-1}
|
||||
PROFILE_SSH_AGENT=${PROFILE_SSH_AGENT:-1}
|
||||
PROFILE_SYSTEMD=${PROFILE_SYSTEMD:-1}
|
||||
PROFILE_THEFUCK=${PROFILE_THEFUCK:-1}
|
||||
PROFILE_YARN=${PROFILE_YARN:-1}
|
||||
|
||||
##############################################################################
|
||||
# Profile helper code from here
|
||||
|
||||
|
@ -32,6 +12,19 @@ PROFILE_DEBUG_SECTION_END_TEXT="/"
|
|||
|
||||
DEBUG_INDENT=0
|
||||
|
||||
when_binary_available() {
|
||||
if has_binary "$@"; then
|
||||
printf '1'
|
||||
return
|
||||
fi
|
||||
printf '0'
|
||||
return
|
||||
}
|
||||
|
||||
has_binary() {
|
||||
command -v "$@" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
section() {
|
||||
if [ $PROFILE_DEBUG -gt 0 ]; then
|
||||
echo "${PROFILE_DEBUG_SECTION_START_PREFIX}$(tput smso)$*$(tput rmso)"
|
||||
|
@ -60,6 +53,28 @@ log() {
|
|||
fi
|
||||
}
|
||||
|
||||
##############################################################################
|
||||
# Profile tweaks and features
|
||||
|
||||
PROFILE_ALIAS=${PROFILE_ALIAS:-1}
|
||||
PROFILE_BIN=${PROFILE_BIN:-1}
|
||||
PROFILE_DEFAULT_TERM=${PROFILE_DEFAULT_TERM:-1}
|
||||
PROFILE_GO=${PROFILE_GO:-$(when_binary_available go)}
|
||||
PROFILE_GPG_PINENTRY_FIX=${PROFILE_GPG_PINENTRY_FIX:-1}
|
||||
PROFILE_IBUS=${PROFILE_IBUS:-$(when_binary_available ibus)}
|
||||
PROFILE_KEYCHAIN=${PROFILE_KEYCHAIN:-$(when_binary_available keychain)}
|
||||
PROFILE_NANO=${PROFILE_NANO:-$(when_binary_available nano)}
|
||||
PROFILE_NANO_EXPLICIT_WIDE=${PROFILE_NANO_EXPLICIT_WIDE:-0}
|
||||
PROFILE_NO_BEEPS=${PROFILE_NO_BEEPS:-$(when_binary_available xset)}
|
||||
PROFILE_NODE=${PROFILE_NODE:-$(when_binary_available node)}
|
||||
PROFILE_PRINT_REBOOT_REQUIRED=${PROFILE_PRINT_REBOOT_REQUIRED:-0} # hacky, see below
|
||||
PROFILE_RUBY=${PROFILE_RUBY:-$(when_binary_available ruby)}
|
||||
PROFILE_RUST=${PROFILE_RUST:-$(when_binary_available rust)}
|
||||
PROFILE_SSH_AGENT=${PROFILE_SSH_AGENT:-$(when_binary_available ssh-agent)}
|
||||
PROFILE_SYSTEMD=${PROFILE_SYSTEMD:-$(when_binary_available systemctl)}
|
||||
PROFILE_THEFUCK=${PROFILE_THEFUCK:-$(when_binary_available thefuck)}
|
||||
PROFILE_YARN=${PROFILE_YARN:-$(when_binary_available yarn)}
|
||||
|
||||
##############################################################################
|
||||
# Actual profile code from here
|
||||
|
||||
|
|
Loading…
Reference in New Issue