{ description = "Flutter development for Desktop/Android/Web"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; config = { android_sdk.accept_license = true; allowUnfree = true; }; }; androidComposition = pkgs.androidenv.composeAndroidPackages { buildToolsVersions = [ "34.0.0" ]; platformVersions = [ "29" "30" "31" "33" "34" ]; abiVersions = [ "armeabi-v7a" "arm64-v8a" ]; 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 { devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ flutter androidComposition.androidsdk jdk21 pkg-config gtk3 # Fixes nagging pcre2.dev util-linux.dev libselinux libsepol libthai libdatrie xorg.libXdmcp xorg.libXtst lerc.dev libxkbcommon libepoxy # Emulator HW decoding vulkan-loader libGL ]; ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk"; JAVA_HOME = "${pkgs.jdk21}/lib/openjdk"; }; }); }