50 lines
1.2 KiB
Bash
Executable File
50 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Clone or update alacritty to $HOME/dev/alacritty, build and install to $HOME/bin
|
|
# Note: run from ZSH in a different terminal emulator.
|
|
set -e
|
|
|
|
if pgrep alacritty > /dev/null; then
|
|
echo "Error: alacritty is running. Kill it and retry."
|
|
exit 1
|
|
fi
|
|
|
|
if ! [ -x "$(command -v cargo)" ]; then
|
|
echo "Install Rust toolchain first"
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p $HOME/dev $HOME/bin
|
|
destdir=$HOME/dev/alacritty
|
|
if [ -d $destdir ]; then
|
|
echo "Updating alacritty..."
|
|
cd $destdir
|
|
git pull --rebase
|
|
else
|
|
echo "Cloning alacritty..."
|
|
cd $HOME/dev
|
|
git clone -q https://github.com/alacritty/alacritty.git alacritty
|
|
fi
|
|
|
|
cd $destdir
|
|
echo "Building alacritty..."
|
|
if [ $(uname -s) = "Darwin" ]; then
|
|
make app
|
|
echo "To install: cp -r $destdir/target/release/osx/Alacritty.app /Applications/"
|
|
else
|
|
cargo build --release
|
|
echo "Installing alacritty..."
|
|
cp $destdir/target/release/alacritty $HOME/bin/alacritty
|
|
fi
|
|
|
|
if [ -z "$ZDOTDIR" ]; then
|
|
echo "WARNING: ZDOTDIR blank so not installing ZSH completions"
|
|
exit 0
|
|
fi
|
|
|
|
echo "Installing ZSH completions..."
|
|
funcdir=$ZDOTDIR/functions
|
|
mkdir -p $funcdir
|
|
cp $destdir/extra/completions/_alacritty $funcdir/_alacritty
|
|
echo "Done"
|