forked from
did:plc:2hcnfmbfr4ucfbjpnvjqvt3e/bbell
wip bsky client for the web & android
1{
2 inputs = {
3 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
4 flake-utils.url = "github:numtide/flake-utils";
5 };
6
7 outputs =
8 {
9 self,
10 nixpkgs,
11 flake-utils,
12 }:
13 flake-utils.lib.eachDefaultSystem (
14 system:
15 let
16 pkgs = import nixpkgs {
17 inherit system;
18 config = {
19 android_sdk.accept_license = true;
20 allowUnfree = true;
21 };
22 };
23
24 androidComposition = pkgs.androidenv.composeAndroidPackages {
25 cmdLineToolsVersion = "8.0";
26 platformToolsVersion = "36.0.2";
27 buildToolsVersions = [ "34.0.0" ];
28
29 toolsVersion = "26.1.1";
30
31 includeEmulator = true;
32 emulatorVersion = "36.4.2";
33 platformVersions = [
34 "28"
35 "29"
36 "30"
37 "31"
38 "32"
39 "33"
40 "34"
41 "35"
42 ];
43 includeSources = false;
44 includeSystemImages = false;
45 systemImageTypes = [ "google_apis_playstore" ];
46 abiVersions = [
47 "armeabi-v7a"
48 "arm64-v8a"
49 ];
50 cmakeVersions = [ "3.22.1" ];
51 includeNDK = true;
52 ndkVersions = [ "25.1.8937393" ];
53 useGoogleAPIs = false;
54 useGoogleTVAddOns = false;
55 includeExtras = [
56 "extras;google;gcm"
57 ];
58 };
59
60 androidSdk = androidComposition.androidsdk;
61 in
62 {
63 self = self;
64 devShells.default = pkgs.mkShell {
65 buildInputs = with pkgs; [
66 androidSdk
67 jdk21
68 gradle
69 maven
70
71 git
72 which
73 unzip
74 zip
75 ];
76
77 shellHook = ''
78 export PROJECT_ROOT="$(pwd)"
79 export ANDROID_HOME="$PROJECT_ROOT/.android-sdk"
80 export ANDROID_SDK_ROOT="$ANDROID_HOME"
81
82 if [ ! -d "$ANDROID_HOME" ]; then
83 echo "init'ing android sdk at $ANDROID_HOME..."
84 mkdir -p "$ANDROID_HOME"
85 cp -r "${androidSdk}/libexec/android-sdk"/* "$ANDROID_HOME/"
86 chmod -R u+w "$ANDROID_HOME"
87 fi
88
89 export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$PATH"
90 export JAVA_HOME="${pkgs.jdk21}"
91
92 echo "android development environment loaded"
93 echo " ANDROID_HOME : $ANDROID_HOME"
94 echo " JAVA_HOME : $JAVA_HOME"
95 echo ""
96 echo "available tools:"
97 echo " - adb"
98 echo " - fastboot"
99 echo " - sdkmanager"
100 echo " - avdmanager"
101 echo ""
102 echo "using Android SDK at $ANDROID_HOME"
103 '';
104 };
105 }
106 );
107}