Files
PaperTrader/shell.nix
T
2026-05-13 14:19:41 +02:00

70 lines
1.6 KiB
Nix

{ pkgs ? import <nixpkgs> { config.allowUnfree = true; } }:
let
androidSdk = pkgs.androidenv.composeAndroidPackages {
buildToolsVersions = [ "35.0.0" "36.0.0" ];
platformVersions = [ "35" "36" ];
abiVersions = [ "x86_64" ];
includeEmulator = true;
includeSystemImages = true;
systemImageTypes = [ "google_apis_playstore" ];
includeNDK = false;
};
in
pkgs.mkShell {
buildInputs = with pkgs; [
# --- Java ---
# jetbrains.jdk
jdk21
# --- Kotlin ---
kotlin
gradle
# kotlin-language-server
# --- Android ---
androidSdk.androidsdk
android-tools
# yarn
# --- Web ---
# yarn
# nodejs_24
libGL
xorg.libX11
xorg.libXcursor
xorg.libXext
xorg.libXi
xorg.libXrender
fontconfig
libxkbcommon
];
shellHook = ''
ln -sfn ${pkgs.jdk21}/lib/openjdk .jdk
export ANDROID_HOME="${androidSdk.androidsdk}/libexec/android-sdk"
export ANDROID_SDK_ROOT="${androidSdk.androidsdk}/libexec/android-sdk"
export GRADLE_OPTS="-Dorg.gradle.java.installations.paths=${pkgs.jdk21}/lib/openjdk"
export JAVA_HOME=${pkgs.jdk21}
export JDK_PATH=${pkgs.jdk21}/lib/openjdk
export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools/bin:$JAVA_HOME/bin:$PATH"
export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath [
# pkgs.yarn
# pkgs.nodejs_24
pkgs.libGL
pkgs.xorg.libX11
pkgs.xorg.libXcursor
pkgs.xorg.libXext
pkgs.xorg.libXi
pkgs.xorg.libXrender
pkgs.fontconfig
pkgs.libxkbcommon
]}
echo "sdk.dir=$ANDROID_HOME" > local.properties
echo "Kotlin Multiplatform Dev Environment Loaded!"
'';
}