79 lines
1.9 KiB
Nix
79 lines
1.9 KiB
Nix
{ pkgs, ... }: {
|
|
android = {
|
|
enable = true;
|
|
emulator.enable = false;
|
|
flutter.enable = true;
|
|
flutter.package = pkgs.flutter;
|
|
|
|
buildTools.version = [
|
|
# Put the latest version to compile with first!
|
|
"36.0.0" # Android 16/17 target
|
|
"35.0.0"
|
|
"34.0.0"
|
|
];
|
|
|
|
platforms.version = [
|
|
"37" # Android 17
|
|
"36" # Android 16
|
|
"35" # Android 15
|
|
];
|
|
|
|
ndk.enable = true;
|
|
ndk.version = [
|
|
"29.0.14206865" # NDK r29 (Latest Stable)
|
|
"27.3.13750724" # NDK r27d (Latest LTS)
|
|
"27.2.12479018" # Kept for backward compatibility
|
|
];
|
|
|
|
extraLicenses = [
|
|
"android-googlexr-license"
|
|
"android-sdk-preview-license"
|
|
"android-googletv-license"
|
|
"android-sdk-arm-dbt-license"
|
|
"google-gdk-license"
|
|
"intel-android-extra-license"
|
|
"intel-android-sysimage-license"
|
|
"mips-android-sysimage-license"
|
|
];
|
|
};
|
|
|
|
packages = with pkgs; [
|
|
# Needed by flutter_secure_storage
|
|
libsecret.dev
|
|
|
|
# Needed by path_provider on linux
|
|
xdg-user-dirs
|
|
];
|
|
|
|
processes.web-server = {
|
|
exec = "python -m http.server 8080 -d build/web";
|
|
};
|
|
|
|
scripts = {
|
|
build-docker.exec = ''
|
|
dart run pdfrx:remove_wasm_modules --revert // Make sure WASM is put in output
|
|
|
|
flutter build web --release --wasm
|
|
|
|
docker build -t gitlab.julian-mutter.de/julian/sheetless-frontend:latest .
|
|
'';
|
|
|
|
deploy-docker.exec = ''
|
|
if [ -n "''${REGISTRY_USERNAME:-}" ] && [ -n "''${REGISTRY_PASSWORD:-}" ]; then
|
|
docker login gitlab.julian-mutter.de --username "$REGISTRY_USERNAME" --password "$REGISTRY_PASSWORD"
|
|
fi
|
|
|
|
docker push gitlab.julian-mutter.de/julian/sheetless-frontend
|
|
'';
|
|
|
|
build-android.exec = ''
|
|
export GRADLE_USER_HOME="$(pwd)/.gradle"
|
|
|
|
dart run pdfrx:remove_wasm_modules --revert // Make sure WASM is put in output
|
|
dart run pdfrx:remove_wasm_modules // NOT idempotent!
|
|
|
|
flutter build apk --release
|
|
'';
|
|
};
|
|
}
|