forked from
jollywhoppers.com/witchsky.app
Bluesky app fork with some witchin' additions 馃挮
1{
2 inputs = {
3 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
4 flake-utils.url = "github:numtide/flake-utils";
5 android-nixpkgs.url = "github:tadfisher/android-nixpkgs";
6 wrangler-flake.url = "github:ryand56/wrangler";
7 };
8
9 outputs =
10 {
11 nixpkgs,
12 flake-utils,
13 wrangler-flake,
14 android-nixpkgs,
15 ...
16 }:
17 flake-utils.lib.eachDefaultSystem (
18 system:
19 let
20 pkgs = import nixpkgs {
21 inherit system;
22 config = {
23 android_sdk.accept_license = true;
24 allowUnfree = true;
25 };
26 };
27 pinnedJDK = pkgs.jdk17;
28 androidSdk = android-nixpkgs.sdk.${system} (
29 sdkPkgs:
30 with sdkPkgs;
31 [
32 cmdline-tools-latest
33 build-tools-35-0-0
34 build-tools-34-0-0
35 platform-tools
36 platforms-android-35
37 emulator
38 cmake-3-22-1
39 ndk-26-1-10909125
40 ndk-28-0-13004108
41 ]
42 ++ nixpkgs.lib.optionals (system == "aarch64-darwin") [
43 system-images-android-35-google-apis-arm64-v8a
44 system-images-android-35-google-apis-playstore-arm64-v8a
45 ]
46 ++ nixpkgs.lib.optionals (system == "x86_64-darwin" || system == "x86_64-linux") [
47 system-images-android-35-google-apis-x86-64
48 system-images-android-35-google-apis-playstore-x86-64
49 ]
50 );
51 in
52 with pkgs;
53 {
54 packages = {
55 default = callPackage ./default.nix { };
56 };
57 devShells = {
58 default = mkShell rec {
59 buildInputs = [
60 androidSdk
61 pinnedJDK
62 ];
63
64 JAVA_HOME = pinnedJDK;
65 ANDROID_HOME = "${androidSdk}/share/android-sdk";
66 ANDROID_SDK_ROOT = "${androidSdk}/share/android-sdk";
67
68 GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_SDK_ROOT}/build-tools/35.0.0/aapt2";
69
70 packages = [
71 just
72 fastmod
73 nodejs
74 yarn
75 crowdin-cli
76 eas-cli
77
78 bundletool
79
80 typescript
81 typescript-language-server
82
83 go
84 gopls
85
86 wrangler-flake.packages.${system}.wrangler
87 ];
88
89 shellHook = ''
90 export GRADLE_USER_HOME=~/.cache/gradle
91 '';
92 };
93 };
94 }
95 );
96}