Flutter: Difference between revisions
imported>Alexandradeas Update nixpkgs version to 23.11 |
imported>Jmarmstrong1207 m Add reference to android wiki page |
||
Line 1: | Line 1: | ||
[https://flutter.dev Flutter] is an open-source mobile application development framework created by Google. It allows developers to build high-performance, cross-platform apps for iOS and Android using a single codebase. | [https://flutter.dev Flutter] is an open-source mobile application development framework created by Google. It allows developers to build high-performance, cross-platform apps for iOS and Android using a single codebase. | ||
In order to understand the sections below more for Android development on NixOS, [[Android|check out the Android wiki page]]. | |||
== Development == | == Development == |
Revision as of 23:58, 1 March 2024
Flutter is an open-source mobile application development framework created by Google. It allows developers to build high-performance, cross-platform apps for iOS and Android using a single codebase.
In order to understand the sections below more for Android development on NixOS, check out the Android wiki page.
Development
Create following flake.nix
in a new project directory
flake.nix
{
description = "Flutter 3.13.x";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/23.11";
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;
};
};
buildToolsVersion = "34.0.0";
androidComposition = pkgs.androidenv.composeAndroidPackages {
buildToolsVersions = [ buildToolsVersion "28.0.3" ];
platformVersions = [ "34" "28" ];
abiVersions = [ "armeabi-v7a" "arm64-v8a" ];
};
androidSdk = androidComposition.androidsdk;
in
{
devShell =
with pkgs; mkShell rec {
ANDROID_SDK_ROOT = "${androidSdk}/libexec/android-sdk";
buildInputs = [
flutter
androidSdk
jdk17
];
};
});
}
Run following commands to start a new demo project and run the "hello world" application
# nix develop
# flutter create my_app
# cd my_app
# flutter run
Packaging
Use buildFlutterApplication from nixpkgs.
See also
- The team working on flutter in nixpkgs maintains several pieces of infrastructure related to the cause. The documentation is lacking as of now, but there are plans to improve it.