shell.nix (1517B)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
{ pkgs ? import <nixpkgs> { allowUnfree = true; }, }: let androidEnv = pkgs.callPackage "${toString pkgs.path}/pkgs/development/mobile/androidenv" { inherit pkgs; licenseAccepted = true; }; buildTools = "35.0.0"; inherit (androidEnv.composeAndroidPackages { cmdLineToolsVersion = "8.0"; toolsVersion = "26.1.1"; platformToolsVersion = "35.0.2"; buildToolsVersions = [ buildTools ]; includeEmulator = false; platformVersions = [ "33" "34" "35" "36" ]; includeSystemImages = false; includeSources = false; cmakeVersions = [ "3.22.1" ]; includeNDK = true; ndkVersions = [ "28.2.13676358" "27.0.12077973" "26.3.11579264" ]; extraLicenses = [ "android-sdk-license" "android-sdk-preview-license" ]; }) androidsdk ; in pkgs.mkShell rec { name = "Android"; packages = with pkgs; [ jdk kotlin gradle flutter androidsdk pkg-config ]; shellHook = ''echo "## Android Development Shell ##"''; JAVA_HOME = pkgs.jdk; GRADLE_HOME = "${pkgs.gradle}/lib/gradle"; GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${androidsdk}/libexec/android-sdk/build-tools/${buildTools}/aapt2"; FLUTTER_ROOT = pkgs.flutter; DART_ROOT = "${FLUTTER_ROOT}/bin/cache/dart-sdk"; ANDROID_SDK_ROOT = "${androidsdk}/libexec/android-sdk"; ANDROID_NDK_ROOT = "${ANDROID_SDK_ROOT}/ndk-bundle"; }