1{ lib, pkgs, ... }:
2
3{
4 name = "anbox";
5 meta.maintainers = with lib.maintainers; [ mvnetbiz ];
6
7 nodes.machine = { pkgs, config, ... }: {
8 imports = [
9 ./common/user-account.nix
10 ./common/x11.nix
11 ];
12
13 environment.systemPackages = with pkgs; [ android-tools ];
14
15 test-support.displayManager.auto.user = "alice";
16
17 virtualisation.anbox.enable = true;
18 boot.kernelPackages = pkgs.linuxPackages_5_15;
19 virtualisation.memorySize = 2500;
20 };
21
22 testScript = { nodes, ... }: let
23 user = nodes.machine.users.users.alice;
24 bus = "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/${toString user.uid}/bus";
25 in ''
26 machine.wait_for_x()
27
28 machine.wait_until_succeeds(
29 "sudo -iu alice ${bus} anbox wait-ready"
30 )
31
32 machine.wait_until_succeeds("adb shell true")
33
34 print(machine.succeed("adb devices"))
35 '';
36}