lesavka/scripts/install-client.sh
2025-06-01 13:31:22 -05:00

27 lines
751 B
Bash
Executable File

#!/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."