# `mix dala.install`
[🔗](https://github.com/manhvu/dala_dev/blob/main/lib/mix/tasks/dala.install.ex#L1)

Runs first-time setup for a Dala project generated by `mix dala.new`.

Must be run from inside the project directory (the one containing `mix.exs`).

    mix dala.install [--icon PATH]

## What it does

  1. Prompts for machine-specific paths (`dala_dir`, `elixir_lib`) and writes them
     to `dala.exs` (gitignored) and `android/local.properties`
  2. Downloads and caches the pre-built OTP runtime tarballs for Android and iOS
  3. Writes the Dala logo as a placeholder app icon (if no icon exists yet)

## Options

  * `--icon PATH`    — use a custom image instead of the Dala logo placeholder

## Icon output

  - `android/app/src/main/res/mipmap-*/ic_launcher.png`
  - `ios/Assets.xcassets/AppIcon.appiconset/icon_*.png` + `Contents.json`

The Dala logo is written as a placeholder. Replace it any time:

    mix dala.icon                     # generate a custom icon
    mix dala.icon --source my_logo.png

## Under the hood

`mix dala.install` does three things that would otherwise require manual steps:

**1. Path configuration** — reads `dala.exs`, detects sensible defaults, prompts
for missing values, and writes them back. Equivalent to:

    # dala.exs (gitignored, machine-specific)
    config :dala_dev,
      dala_dir: "/Users/me/code/dala"

**2. OTP download** — fetches pre-built ERTS tarballs from GitHub Releases:

    # Roughly equivalent to:
    curl -L https://github.com/genericjam/dala/releases/download/<tag>/otp-android-arm64.tar.gz          -o ~/.dala_dev/otp-android-arm64.tar.gz

**3. Placeholder icon** — writes the Dala logo to all platform icon sizes (pre-built PNGs,
no system tools required). Run `mix dala.icon` afterwards to replace it with a custom icon.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
