70 lines
2.0 KiB
Nix
70 lines
2.0 KiB
Nix
{
|
|
description = "Flutter 3.13.x";
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
android-nixpkgs = {
|
|
url = "github:tadfisher/android-nixpkgs";
|
|
};
|
|
};
|
|
outputs = { self, nixpkgs, flake-utils, android-nixpkgs }:
|
|
flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
config = {
|
|
android_sdk.accept_license = true;
|
|
allowUnfree = true;
|
|
};
|
|
};
|
|
androidComposition = pkgs.androidenv.composeAndroidPackages {
|
|
buildToolsVersions = [ "30.0.3" "34.0.0" "33.0.1"];
|
|
platformVersions = [ "35" "34" "33" "28" ];
|
|
abiVersions = [ "armeabi-v7a" "arm64-v8a" ];
|
|
};
|
|
androidCustomPackage = android-nixpkgs.sdk.${system} (
|
|
sdkPkgs: with sdkPkgs; [
|
|
build-tools-30.0.3
|
|
build-tools-34.0.0
|
|
]
|
|
);
|
|
androidSdk = androidComposition.androidsdk;
|
|
in
|
|
{
|
|
devShell =
|
|
with pkgs; mkShell rec {
|
|
shellHook = ''
|
|
nu
|
|
exit
|
|
'';
|
|
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${androidSdk}/libexec/android-sdk/build-tools/34.0.0/aapt2";
|
|
|
|
ANDROID_SDK_ROOT = "${androidSdk}/libexec/android-sdk";
|
|
buildInputs = [
|
|
flutter
|
|
androidSdk # The customized SDK that we've made above
|
|
# jdk17
|
|
jdk21
|
|
|
|
(vscode-with-extensions.override {
|
|
vscode = vscodium;
|
|
vscodeExtensions = with vscode-extensions; [
|
|
vscodevim.vim
|
|
dart-code.dart-code
|
|
dart-code.flutter
|
|
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace[
|
|
{
|
|
name = "awesome-flutter-snippets";
|
|
publisher = "nash";
|
|
version = "4.0.1";
|
|
sha256 = "lXdos/xB18h3Z0YfkgEk55G2JvRMYudUUIltugQjylU=";
|
|
}
|
|
];
|
|
})
|
|
];
|
|
|
|
};
|
|
});
|
|
}
|