WHC Shell: keyboard-first Android terminal over SSH to local Termux

Vendored Termux terminal-emulator/renderer (Apache 2.0) with kitty keyboard
protocol, modifyOtherKeys and any-event mouse tracking; sshj client with
Ed25519 key login and TOFU host keys; Termux font/colors/cursor sync;
mouse selection, context menu, zoom and fullscreen shortcuts.
This commit is contained in:
WHC
2026-10-06 01:51:31 +08:00
commit a0023fd2ae
37 changed files with 7840 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
{ pkgs ? import <nixpkgs> {
config = {
allowUnfree = true;
android_sdk.accept_license = true;
};
}
}:
let
buildTools = "35.0.0";
android = pkgs.androidenv.composeAndroidPackages {
platformVersions = [ "35" ];
buildToolsVersions = [ buildTools ];
includeEmulator = false;
includeSystemImages = false;
includeNDK = false;
};
sdk = "${android.androidsdk}/libexec/android-sdk";
in
pkgs.mkShell {
packages = [ pkgs.jdk17 pkgs.gradle android.androidsdk pkgs.android-tools ];
ANDROID_HOME = sdk;
ANDROID_SDK_ROOT = sdk;
JAVA_HOME = pkgs.jdk17.home;
# The aapt2 that Gradle fetches from Maven is not runnable on NixOS.
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${sdk}/build-tools/${buildTools}/aapt2";
}