|
8 | 8 | flake-utils.url = "github:numtide/flake-utils"; |
9 | 9 | }; |
10 | 10 |
|
11 | | - outputs = { |
12 | | - self, |
13 | | - nixpkgs, |
14 | | - fenix, |
15 | | - flake-utils, |
16 | | - }: |
| 11 | + outputs = |
| 12 | + { self |
| 13 | + , nixpkgs |
| 14 | + , fenix |
| 15 | + , flake-utils |
| 16 | + , |
| 17 | + }: |
17 | 18 | flake-utils.lib.eachDefaultSystem ( |
18 | | - system: let |
| 19 | + system: |
| 20 | + let |
19 | 21 | # setup pkgs |
20 | 22 | pkgs = import nixpkgs { |
21 | 23 | inherit system; |
22 | | - overlays = [fenix.overlays.default]; |
| 24 | + overlays = [ fenix.overlays.default ]; |
23 | 25 | config = { |
24 | 26 | android_sdk.accept_license = true; |
25 | 27 | allowUnfree = true; |
|
41 | 43 | targets.x86_64-pc-windows-gnu.stable.rust-std |
42 | 44 | ]; |
43 | 45 | androidComposition = pkgs.androidenv.composeAndroidPackages { |
44 | | - abiVersions = ["arm64-v8a"]; |
| 46 | + abiVersions = [ "arm64-v8a" ]; |
45 | 47 | includeNDK = true; |
46 | | - platformVersions = ["32"]; |
| 48 | + platformVersions = [ "32" ]; |
47 | 49 | }; |
48 | | - in { |
| 50 | + androidStudio = pkgs.android-studio.withSdk androidComposition.androidsdk; |
| 51 | + xbuild = pkgs.callPackage ./xbuild { }; |
| 52 | + in |
| 53 | + { |
| 54 | + packages.default = xbuild; |
49 | 55 | devShells.default = pkgs.mkShell rec { |
50 | 56 | # build dependencies |
51 | 57 | nativeBuildInputs = with pkgs; [ |
| 58 | + jdk |
| 59 | + kotlin |
| 60 | + gradle |
| 61 | + squashfsTools |
| 62 | + clang |
| 63 | + lldb |
| 64 | + libllvm |
| 65 | + lld |
| 66 | + androidComposition.androidsdk |
| 67 | + |
52 | 68 | # the entire rust toolchain |
53 | 69 | rustToolchain |
| 70 | + |
54 | 71 | # tool for cross compiling |
55 | 72 | cargo-apk |
56 | | - # xbuild |
| 73 | + xbuild |
57 | 74 |
|
58 | 75 | pkg-config |
59 | 76 | openssl |
|
102 | 119 | ]; |
103 | 120 |
|
104 | 121 | # android vars |
105 | | - ANDROID_SDK_ROOT = "${androidComposition.androidsdk}/libexec/android-sdk"; |
106 | | - ANDROID_NDK_ROOT = "${ANDROID_SDK_ROOT}/ndk-bundle"; |
| 122 | + ANDROID_HOME = "${androidComposition.androidsdk}/libexec/android-sdk"; |
| 123 | + ANDROID_NDK_ROOT = "${ANDROID_HOME}/ndk-bundle"; |
107 | 124 |
|
108 | 125 | LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath buildInputs; |
109 | 126 | # this is most likely not needed. for some reason shadows flicker without it. |
110 | 127 | AMD_VULKAN_ICD = "RADV"; |
| 128 | + |
| 129 | + |
111 | 130 | }; |
112 | 131 | # This only formats the nix files. |
113 | 132 | formatter = pkgs.nixpkgs-fmt; |
|
0 commit comments