flutter_nix_hello_world/flake.nix
2025-04-30 21:35:11 -05:00

83 lines
2.6 KiB
Nix

# 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";
};
});
}