Files
openstapps/flake.nix
Thea Schöbl c1883abb50 refactor: migrate to angular esbuild
refactor: migrate to ionic standalone components
refactor: migrate ion icons to a custom element
2024-08-07 13:27:39 +02:00

75 lines
2.1 KiB
Nix

{
description = "A Nix-flake-based development environment for OpenStApps";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs =
{
self,
nixpkgs,
flake-utils,
}:
let
aapt2buildToolsVersion = "33.0.2";
in
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
android_sdk.accept_license = true;
};
};
fontMin = pkgs.python311.withPackages (
ps:
with ps;
[
brotli
fonttools
]
++ (with fonttools.optional-dependencies; [ woff ])
);
android = pkgs.androidenv.composeAndroidPackages {
buildToolsVersions = [
"30.0.3"
aapt2buildToolsVersion
];
platformVersions = [ "33" ];
};
androidJdk = pkgs.jdk17;
cypress = pkgs.cypress.overrideAttrs (cyPrev: rec {
version = "13.2.0";
src = pkgs.fetchzip {
url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
hash = "sha256-9o0nprGcJhudS1LNm+T7Vf0Dwd1RBauYKI+w1FBQ3ZM=";
};
});
in
{
devShell = pkgs.mkShell rec {
buildInputs = [
pkgs.nodejs_18
pkgs.corepack
# tools
pkgs.curl
pkgs.jq
fontMin
cypress
# android
androidJdk
android.androidsdk
];
ANDROID_JAVA_HOME = "${androidJdk.home}";
ANDROID_SDK_ROOT = "${android.androidsdk}/libexec/android-sdk";
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_SDK_ROOT}/build-tools/${aapt2buildToolsVersion}/aapt2";
CYPRESS_INSTALL_BINARY = "0";
CYPRESS_RUN_BINARY = "${cypress}/bin/Cypress";
CHROME_BIN = pkgs.lib.getExe pkgs.chromium;
};
}
);
}