notedeck/shell.nix

38 lines
1.1 KiB
Nix
Raw Normal View History

{ pkgs ? import <nixpkgs> {}, use_android ? true }:
2022-11-30 19:57:06 +00:00
with pkgs;
let
x11libs = lib.makeLibraryPath [ xorg.libX11 xorg.libXcursor xorg.libXrandr xorg.libXi libglvnd vulkan-loader vulkan-validation-layers libxkbcommon ];
2022-11-30 19:57:06 +00:00
ndk-version = "24.0.8215888";
#ndk-version = "21.0.6113669";
2022-11-30 19:57:06 +00:00
androidComposition = androidenv.composeAndroidPackages {
includeNDK = true;
ndkVersions = [ ndk-version ];
#platformVersions = [ "22" "28" "29" "30" ];
platformVersions = [ "22" "30" ];
2022-11-30 19:57:06 +00:00
useGoogleAPIs = false;
#useGoogleTVAddOns = false;
#includeExtras = [
# "extras;google;gcm"
#];
};
androidsdk = androidComposition.androidsdk;
android-home = "${androidsdk}/libexec/android-sdk";
ndk-home = "${android-home}/ndk/${ndk-version}";
in
mkShell ({
2022-11-30 19:57:06 +00:00
nativeBuildInputs = [
2023-11-27 00:39:07 +00:00
cargo-udeps cargo-edit cargo-watch rustup rustfmt libiconv pkg-config cmake fontconfig
2022-11-30 19:57:06 +00:00
brotli wabt
heaptrack
] ++ pkgs.lib.optional use_android [ jre openssl libiconv androidsdk cargo-apk ] ;
2022-11-30 19:57:06 +00:00
LD_LIBRARY_PATH="${x11libs}";
2023-07-07 02:36:01 +00:00
} // (if !use_android then {} else {
ANDROID_HOME = android-home;
NDK_HOME = ndk-home;
}))