Runs first-time setup for a Mob project generated by mix mob.new.
Must be run from inside the project directory (the one containing mix.exs).
mix mob.install [--icon PATH]What it does
- Prompts for machine-specific paths (
mob_dir) and writes them to the gitignoredmob.local.exs(imported by the committedmob.exs) andandroid/local.properties - Downloads and caches the pre-built OTP runtime tarballs for Android and iOS
- Writes the Mob logo as a placeholder app icon (if no icon exists yet)
Options
--icon PATH— use a custom image instead of the Mob logo placeholder
Icon output
Written only for the platforms the project has (android/, ios/):
android/app/src/main/res/mipmap-*/ic_launcher.pngios/Assets.xcassets/AppIcon.appiconset/icon_*.png+Contents.json
The Mob logo is written as a placeholder. Replace it any time:
mix mob.icon # generate a custom icon
mix mob.icon --source my_logo.pngUnder the hood
mix mob.install does three things that would otherwise require manual steps:
1. Path configuration — reads mob.exs (plus the mob.local.exs it
imports), detects sensible defaults, prompts for missing values, and writes
them to mob.local.exs. mob.exs is project config you commit; only the
import line is added to it if missing. Equivalent to:
# mob.local.exs (gitignored, machine-specific)
config :mob_dev,
mob_dir: "/Users/me/code/mob"2. OTP download — fetches pre-built ERTS tarballs from GitHub Releases:
# Roughly equivalent to:
curl -L https://github.com/genericjam/mob/releases/download/<tag>/otp-android-arm64.tar.gz -o ~/.mob_dev/otp-android-arm64.tar.gz3. Placeholder icon — writes the Mob logo to all platform icon sizes (pre-built PNGs,
no system tools required). Run mix mob.icon afterwards to replace it with a custom icon.