{ lib, pkgs, ... }:
{
name = "anbox";
meta.maintainers = with lib.maintainers; [ mvnetbiz ];
nodes.machine =
{ pkgs, config, ... }:
imports = [
./common/user-account.nix
./common/x11.nix
];
environment.systemPackages = with pkgs; [ android-tools ];
test-support.displayManager.auto.user = "alice";
virtualisation.anbox.enable = true;
boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_15;
virtualisation.memorySize = 2500;
};
testScript =
{ nodes, ... }:
let
user = nodes.machine.users.users.alice;
bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus";
in
''
machine.wait_for_x()
machine.wait_until_succeeds(
"sudo -iu alice ${bus} anbox wait-ready"
)
machine.wait_until_succeeds("adb shell true")
print(machine.succeed("adb devices"))
'';
}