mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2025-12-10 08:16:22 +00:00
90 lines
2.7 KiB
Nix
90 lines
2.7 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 = "34.0.0";
|
|
in
|
|
flake-utils.lib.eachDefaultSystem (
|
|
system:
|
|
let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
overlays = [
|
|
(final: prev: {
|
|
fontMin = prev.python311.withPackages (
|
|
ps:
|
|
with ps;
|
|
[
|
|
brotli
|
|
fonttools
|
|
]
|
|
++ (with fonttools.optional-dependencies; [ woff ])
|
|
);
|
|
android = prev.androidenv.composeAndroidPackages {
|
|
buildToolsVersions = prev.lib.lists.unique [
|
|
"34.0.0"
|
|
aapt2buildToolsVersion
|
|
];
|
|
platformVersions = [ "34" ];
|
|
};
|
|
cypress = prev.cypress.overrideAttrs (cyPrev: rec {
|
|
version = "13.10.0";
|
|
src = prev.fetchzip {
|
|
url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
|
|
hash = "sha256-wKNXo2lWndsQaouOiul0rsOWah+RRQ6fljzdeC8/KW4=";
|
|
};
|
|
});
|
|
nodejs = prev.nodejs_22;
|
|
})
|
|
];
|
|
config = {
|
|
allowUnfree = true;
|
|
android_sdk.accept_license = true;
|
|
};
|
|
};
|
|
androidFhs = pkgs.buildFHSUserEnv {
|
|
name = "android-env";
|
|
runScript = "bash";
|
|
profile = ''
|
|
export ALLOW_NINJA_ENV=true
|
|
export USE_CCACHE=1
|
|
export LD_LIBRARY_PATH=/usr/lib:/usr/lib32
|
|
'';
|
|
};
|
|
in
|
|
{
|
|
devShell = pkgs.mkShell rec {
|
|
nativeBuildInputs = [ androidFhs ];
|
|
buildInputs = with pkgs; [
|
|
nodejs
|
|
nodePackages.pnpm
|
|
# tools
|
|
curl
|
|
jq
|
|
fontMin
|
|
cypress
|
|
# android
|
|
jdk17
|
|
android.androidsdk
|
|
];
|
|
ANDROID_JAVA_HOME = "${pkgs.jdk.home}";
|
|
ANDROID_SDK_ROOT = "${pkgs.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 = "${pkgs.cypress}/bin/Cypress";
|
|
# https://github.com/nodejs/node/issues/48444#issuecomment-1591882694
|
|
UV_USE_IO_URING = "0";
|
|
};
|
|
}
|
|
);
|
|
}
|