1
0
Fork 0
flake-templates/flutter.nix

64 lines
1.8 KiB
Nix

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