# vim: set sw=2 ts=2 et: # { description = "An example project using flutter"; inputs.nixpkgs = { # url = "github:NixOS/nixpkgs/24.11"; # url = "github:NixOS/nixpkgs/23.11"; url = "github:NixOS/nixpkgs"; }; inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.flake-compat = { url = "github:edolstra/flake-compat"; flake = false; }; outputs = { self, nixpkgs, flake-utils, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; config.allowUnfree = true; config.android_sdk.accept_license = true; }; in { devShells.default = let android = pkgs.androidenv.composeAndroidPackages { toolsVersion = "26.1.1"; platformToolsVersion = "34.0.5"; buildToolsVersions = [ "34.0.0-rc4" "30.0.3" ]; includeEmulator = false; emulatorVersion = "34.1.9"; # platformVersions = [ "28" "29" "30" "31" "32" "33" "34" ]; platformVersions = [ "34" ]; includeSources = false; includeSystemImages = false; systemImageTypes = [ "google_apis_playstore" ]; abiVersions = [ "armeabi-v7a" "arm64-v8a" ]; cmakeVersions = [ "3.10.2" ]; includeNDK = true; ndkVersions = [ "22.0.7026061" ]; useGoogleAPIs = false; useGoogleTVAddOns = false; extraLicenses = [ "android-googletv-license" "android-sdk-arm-dbt-license" "android-sdk-license" "android-sdk-preview-license" "google-gdk-license" "intel-android-extra-license" "intel-android-sysimage-license" "mips-android-sysimage-license" ]; }; in pkgs.mkShell { buildInputs = with pkgs; [ # from pkgs flutter # jdk11 jdk17 # jdk21 android.androidsdk # from let: android.platform-tools ]; ANDROID_HOME = "${android.androidsdk}/libexec/android-sdk"; GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${android.androidsdk}/libexec/android-sdk/build-tools/34.0.0-rc4/aapt2"; # JAVA_HOME = pkgs.jdk11; JAVA_HOME = pkgs.jdk17; ANDROID_AVD_HOME = (toString ./.) + "/.android/avd"; }; }); }