#!/usr/bin/env bash set -euo pipefail sudo pacman --needed --noconfirm -S git rustup protobuf gcc rustup toolchain install stable WORK=/opt/navka if [ ! -d "$WORK" ]; then sudo git clone ssh://git@scm.bstein.dev:2242/brad_stein/navka.git "$WORK"; fi cd "$WORK" && sudo git pull cargo build --release --manifest-path server/Cargo.toml sudo install -Dm755 target/release/navka-server /usr/local/bin/navka-server sudo install -Dm755 gadget/navka-gadget.sh /usr/local/bin/navka-gadget.sh cat <<'EOF' | sudo tee /etc/systemd/system/navka-server.service [Unit] After=network.target navka-gadget.service [Service] ExecStart=/usr/local/bin/navka-server Restart=always User=root [Install] WantedBy=multi-user.target EOF cat <<'EOF' | sudo tee /etc/systemd/system/navka-gadget.service [Unit] Description=USB Gadget [Service] Type=oneshot ExecStart=/usr/local/bin/navka-gadget.sh RemainAfterExit=yes [Install] WantedBy=multi-user.target EOF sudo systemctl daemon-reload sudo systemctl enable --now navka-gadget.service navka-server.service echo "navka-server installed."