# Global — device companion (Android / Waydroid) nix_flags := "--builders '' --max-jobs 1" default: @just --list shell: nix develop {{nix_flags}} test: nix develop {{nix_flags}} -c gleam test # Full device pipeline: cargo apk → adb install → UI → Gleam run: nix run .#global {{nix_flags}} # Skip APK rebuild run-skip-apk: GLOBAL_APK_SKIP_BUILD=1 nix run .#global {{nix_flags}} # Waydroid: x86_64 APK → adb install → launch (default: install) # just waydroid # build + install + launch # just waydroid launch # start activity only # just waydroid drive # host Gleam → ui@ # just waydroid all # install + drive waydroid *args: #!/usr/bin/env bash set -euo pipefail cd "{{justfile_directory()}}" # rustup shims before anything nix develop may have put on PATH export PATH="${HOME}/.cargo/bin:${HOME}/.local/share/android-sdk/platform-tools:${PATH}" export ANDROID_NDK_HOME="${ANDROID_NDK_HOME:-$HOME/.local/share/android-ndk-r29}" export ANDROID_HOME="${ANDROID_HOME:-$HOME/.local/share/android-sdk}" unset ANDROID_SDK_ROOT 2>/dev/null || true args=({{args}}) if [[ ${#args[@]} -eq 0 ]]; then args=(install) fi exec bash ./scripts/waydroid-dist-ui.sh "${args[@]}" # Gleam domain tests only test-driver: #!/usr/bin/env bash set -euo pipefail cd dist_driver nix shell nixpkgs#beamPackages.erlang nixpkgs#gleam {{nix_flags}} -c bash -c ' gleam deps download gleam build erlc -o build/dev/erlang/dist_driver/ebin src/dist_driver_ffi.erl ' cookie := "global" # Build host-side Rust UI binary (debug; not the Android APK) dist-ui-build: #!/usr/bin/env bash set -euo pipefail cd dist-ui cargo build dist-driver-build: #!/usr/bin/env bash set -euo pipefail cd dist_driver nix shell nixpkgs#beamPackages.erlang nixpkgs#gleam {{nix_flags}} -c bash -c ' gleam deps download gleam build erlc -o build/dev/erlang/dist_driver/ebin src/dist_driver_ffi.erl '