-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathshell.nix
66 lines (61 loc) · 1.59 KB
/
shell.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
let
nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/nixos-unstable";
pkgs = import nixpkgs {
config = {
android_sdk.accept_license = true;
allowUnfree = true;
};
overlays = [];
};
in
let
androidComposition = pkgs.androidenv.composeAndroidPackages {
cmdLineToolsVersion = "13.0";
toolsVersion = "26.1.1";
platformToolsVersion = "34.0.4";
buildToolsVersions = [ "34.0.0" ];
includeEmulator = false;
emulatorVersion = "30.3.4";
platformVersions = [ "34" ];
includeSources = false;
includeSystemImages = false;
systemImageTypes = [ "google_apis_playstore" ];
abiVersions = [ "armeabi-v7a" "arm64-v8a" ];
cmakeVersions = [ "3.10.2" ];
includeNDK = true;
ndkVersions = ["23.2.8568313"];
useGoogleAPIs = false;
useGoogleTVAddOns = false;
};
ndkVersion = androidComposition.ndkVersions.head;
in
pkgs.mkShell {
nativeBuildInputs = with pkgs; [
godot_4
scons
libqalculate
jdk17
pkg-config
android-udev-rules
intltool
autoconf
libtool
automake
gnupatch
];
libPath = pkgs.lib.makeLibraryPath [
pkgs.libqalculate
];
includePath = pkgs.lib.makeIncludePath [
pkgs.libqalculate
pkgs.gmp
pkgs.mpfr
];
shellHook = ''
alias godot="godot4"
export ANDROID_HOME="${androidComposition.androidsdk}/libexec/android-sdk";
export ANDROID_NDK_ROOT="$ANDROID_HOME/ndk/23.2.8568313";
export ANDROID_SDK_ROOT="$ANDROID_HOME";
export GRADLE_OPTS="-Dorg.gradle.project.android.aapt2FromMavenOverride=$ANDROID_HOME/build-tools/34.0.0/aapt2";
'';
}