Files
sheetless/devenv.nix
T
julian 125346668a
Build and deploy the latest docker container / deploy (push) Successful in 29m5s
Build and release the latest android apk / rolling-release-apk (push) Successful in 6m1s
upgrade everything, devenv, flutter, gradle
2026-07-03 22:35:01 +02:00

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
'';
};
}