commit 0fc50cdffb5bdf5447d14142de7bfc54e1c4a05e Author: Avery Date: Wed Jan 8 22:53:26 2025 +0100 Add Flutter template diff --git a/flutter.nix b/flutter.nix new file mode 100644 index 0000000..599dd01 --- /dev/null +++ b/flutter.nix @@ -0,0 +1,47 @@ +{ + 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 + jdk17 + ]; + + ANDROID_SDK_ROOT = + "${androidComposition.androidsdk}/libexec/android-sdk"; + JAVA_HOME = "${pkgs.jdk17}/lib/openjdk"; + }; + }); +}