27 lines
751 B
Bash
27 lines
751 B
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
set -euo pipefail
|
||
|
|
sudo pacman --needed --noconfirm -S git rustup protobuf gcc evtest
|
||
|
|
rustup toolchain install stable
|
||
|
|
|
||
|
|
WORK=$HOME/.local/src/navka
|
||
|
|
if [ ! -d "$WORK" ]; then git clone ssh://git@scm.bstein.dev:2242/brad_stein/navka.git "$WORK"; fi
|
||
|
|
cd "$WORK" && git pull
|
||
|
|
|
||
|
|
cargo build --release --manifest-path client/Cargo.toml
|
||
|
|
install -Dm755 target/release/navka-client ~/.local/bin/navka-client
|
||
|
|
|
||
|
|
mkdir -p ~/.config/systemd/user
|
||
|
|
cat <<'EOF' > ~/.config/systemd/user/navka-client.service
|
||
|
|
[Unit]
|
||
|
|
After=network.target
|
||
|
|
[Service]
|
||
|
|
ExecStart=%h/.local/bin/navka-client
|
||
|
|
Restart=on-failure
|
||
|
|
[Install]
|
||
|
|
WantedBy=default.target
|
||
|
|
EOF
|
||
|
|
|
||
|
|
systemctl --user daemon-reload
|
||
|
|
systemctl --user enable --now navka-client.service
|
||
|
|
echo "navka-client installed."
|