# Setup

> The following steps describe only a minimal setup. You will need to perform additional steps depending on the module you want to work on — refer to its dedicated page.

## Add dependencies

### Version Catalog (recommended)

Add the Ledger SDK version catalog to your `settings.gradle.kts`:

```kotlin
dependencyResolutionManagement {
    versionCatalogs {
        create("ledger") {
            from("io.github.ledgerhq:sdk-version-catalog:<version>")
        }
    }
}
```

---

### Device Management Kit

#### Using the Version Catalog

```kotlin
dependencies {
    implementation(platform(ledger.bom))
    implementation(ledger.device.management.kit)
}
```

#### Using the BOM only

```kotlin
dependencies {
    implementation(platform("io.github.ledgerhq:sdk-bom:<version>"))
    implementation("io.github.ledgerhq:device-management-kit")
}
```

#### Direct dependency

```kotlin
dependencies {
    implementation("io.github.ledgerhq:device-management-kit:<version>")
}
```

#### iOS (Swift Package Manager)

Add the `LedgerDMK` XCFramework to your Xcode project or `Package.swift`.

---

### Ethereum Signer

> **Note:** This module depends on the `device-management-kit` module, which must be installed
> first.

#### Using the Version Catalog

```kotlin
dependencies {
    implementation(platform(ledger.bom))
    implementation(ledger.device.management.kit)
    implementation(ledger.device.signer.kit.ethereum)
}
```

#### Using the BOM only

```kotlin
dependencies {
    implementation(platform("io.github.ledgerhq:sdk-bom:<version>"))
    implementation("io.github.ledgerhq:device-management-kit")
    implementation("io.github.ledgerhq:device-signer-kit-ethereum")
}
```

#### Direct dependency

```kotlin
dependencies {
    implementation("io.github.ledgerhq:device-management-kit:<version>")
    implementation("io.github.ledgerhq:device-signer-kit-ethereum:<version>")
}
```

#### iOS (Swift Package Manager)

Add the `SignerEth` XCFramework to your Xcode project or `Package.swift`.
