abort_if_offline
abort_if_command_unknown xz
-expect_n_args 0 4 '[discord] [mattermost] [signal] [telegram]' "$@"
+expect_n_args 0 5 '[discord] [mattermost] [signal] [telegram] [iamb]' "$@"
install_with_repo() {
local APP_NAME=$1
rm "${FILENAME_TGRAM_ARCHIVE}"
}
-install_discord() {
- local FILENAME_DISCORD_DEB_SOURCE='download?platform=linux'
- local FILENAME_DISCORD_DEB_TARGET=discord.deb
- local URL_DISCORD="https://discord.com/api/${FILENAME_DISCORD_DEB_SOURCE}"
- wget "${URL_DISCORD}"
- mv "${FILENAME_DISCORD_DEB_SOURCE}" "${FILENAME_DISCORD_DEB_TARGET}"
- sudo apt install "./${FILENAME_DISCORD_DEB_TARGET}"
- rm "${FILENAME_DISCORD_DEB_TARGET}"
-}
-
install_mattermost() {
install_with_repo mattermost deb.packages.mattermost.com pubkey.gpg stable
}
install_with_repo signal updates.signal.org/desktop/apt keys.asc xenial
}
+install_from_deb() {
+ local URL_PREFIX="$1"
+ local FILENAME_DEB_TARGET="$2"
+ local FILENAME_DEB_SOURCE="$3"
+ if [ -z "${FILENAME_DEB_SOURCE}" ]; then
+ FILENAME_DEB_SOURCE="${FILENAME_DEB_TARGET}"
+ fi
+ local URL_DEB="${URL_PREFIX}${FILENAME_DEB_SOURCE}"
+ wget "${URL_DEB}"
+ if [ ! "${FILENAME_DEB_TARGET}" = "${FILENAME_DEB_SOURCE}" ]; then
+ mv "${FILENAME_DEB_SOURCE}" "${FILENAME_DEB_TARGET}"
+ fi
+ sudo apt install "./${FILENAME_DEB_TARGET}"
+ rm "${FILENAME_DEB_TARGET}"
+}
+
+install_discord() {
+ install_from_deb https://discord.com/api/ discord.deb download?platform=linux
+}
+
+install_iamb() {
+ install_from_deb https://github.com/ulyssa/iamb/releases/latest/download/ iamb-x86_64-unknown-linux-musl.deb
+}
+
TEMP_DIR=$(mktemp -d)
cd "${TEMP_DIR}"
install_telegram
install_discord
install_mattermost
+ install_iamb
else
while [ "$#" -gt 0 ]; do
if [ "$1" = 'signal' ]; then
install_discord
elif [ "$1" = 'mattermost' ]; then
install_mattermost
+ elif [ "$1" = 'iamb' ]; then
+ install_iamb
else
echo "unrecognized target: $1"
fi