Skip to content

segment-integrations/devbox-plugins

Repository files navigation

Devbox Plugins for Mobile Development

Reproducible, project-local development environments for Android, iOS, and React Native using Devbox.

Quick Start

# Initialize devbox in your project
devbox init

# Add the Android plugin include to your devbox.json
# (devbox add only works for packages, not plugins — edit devbox.json manually)

Add the plugin to your devbox.json:

{
  "include": ["github:segment-integrations/devbox-plugins?dir=plugins/android"],
  "packages": {
    "jdk17": "latest",
    "gradle": "latest"
  },
  "env": {
    "ANDROID_APP_APK": "app/build/outputs/apk/debug/app-debug.apk"
  }
}
# Enter development environment
devbox shell

# Start emulator and run app
devbox run start:emu
devbox run start:app

The app's package name is auto-detected from the APK at install time.

New to devbox-plugins? Check out the Quick Start Guide for detailed setup instructions.

Features

  • Project-Local State - All emulators, simulators, and caches stay in your project directory
  • Reproducible Environments - Lock files ensure consistent SDK versions across machines
  • No Global Pollution - Won't touch ~/.android, ~/Library/Developer, or other global state
  • Parallel Execution - Run multiple test suites simultaneously with --pure isolation
  • Device-Driven Configuration - Define devices as JSON, sync AVDs/simulators declaratively
  • CI/CD Optimized - Device filtering and platform skipping for fast CI builds

Plugins

Android Plugin

Nix-managed Android SDK with AVD management.

{
  "include": ["github:segment-integrations/devbox-plugins?dir=plugins/android"]
}

Guides: Android Guide | Cheatsheet Reference: Android API

iOS Plugin

Xcode toolchain integration with iOS Simulator management (macOS only).

{
  "include": ["github:segment-integrations/devbox-plugins?dir=plugins/ios"]
}

Guides: iOS Guide | Cheatsheet Reference: iOS API

React Native Plugin

Composition layer over Android and iOS with Metro bundler management.

{
  "include": ["github:segment-integrations/devbox-plugins?dir=plugins/react-native"]
}

Guides: React Native Guide | Cheatsheet Reference: React Native API

Documentation

For Users

For Contributors

Full documentation: Wiki Home

Examples

The repository includes example projects demonstrating plugin usage:

Each example includes device definitions, test suites, and build scripts.

Common Commands

# Android
devbox run start:emu        # Start Android emulator
devbox run start:app        # Build, install, and launch app
devbox run stop:emu         # Stop emulator

# iOS
devbox run start:sim        # Start iOS simulator
devbox run start:ios        # Build and launch app
devbox run stop:sim         # Stop simulator

# Device management
devbox run android.sh devices list
devbox run ios.sh devices list

# Testing
devbox run test:fast        # Quick tests (~2-5 min)
devbox run test:e2e         # Full E2E tests (~15-30 min)

Requirements

  • Devbox - Install with curl -fsSL https://get.jetify.com/devbox | bash
  • macOS - Required for iOS plugin (Xcode required)
  • Linux - Supported for Android and React Native (Android only)

License

MIT

Support

About

Segment Developer Environments & Project Templates

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •