mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2025-12-11 00:36:14 +00:00
76 lines
2.3 KiB
Nix
76 lines
2.3 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;
|
|
overlays = [
|
|
(final: prev: rec {
|
|
fontMin = prev.python311.withPackages (ps: with ps; [brotli fonttools] ++ (with fonttools.optional-dependencies; [woff]));
|
|
android = prev.androidenv.composeAndroidPackages {
|
|
buildToolsVersions = ["30.0.3" aapt2buildToolsVersion];
|
|
platformVersions = ["33"];
|
|
};
|
|
cypress = prev.cypress.overrideAttrs (cyPrev: rec {
|
|
version = "13.2.0";
|
|
src = prev.fetchzip {
|
|
url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
|
|
hash = "sha256-9o0nprGcJhudS1LNm+T7Vf0Dwd1RBauYKI+w1FBQ3ZM=";
|
|
};
|
|
});
|
|
})
|
|
];
|
|
config = {
|
|
allowUnfree = true;
|
|
android_sdk.accept_license = true;
|
|
};
|
|
};
|
|
androidFhs = pkgs.buildFHSUserEnv {
|
|
name = "android-env";
|
|
targetPkgs = pkgs: with pkgs; [];
|
|
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-18_x
|
|
nodePackages.pnpm
|
|
# tools
|
|
curl
|
|
jq
|
|
fontMin
|
|
# browsers
|
|
firefox
|
|
google-chrome
|
|
epiphany # Safari-ish browser
|
|
cypress
|
|
# android
|
|
jdk17
|
|
android.androidsdk
|
|
musl
|
|
];
|
|
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";
|
|
};
|
|
});
|
|
}
|