+95
-4
flake.lock
+95
-4
flake.lock
···
1
1
{
2
2
"nodes": {
3
+
"android-nixpkgs": {
4
+
"inputs": {
5
+
"devshell": "devshell",
6
+
"flake-utils": "flake-utils",
7
+
"nixpkgs": "nixpkgs"
8
+
},
9
+
"locked": {
10
+
"lastModified": 1745266877,
11
+
"narHash": "sha256-MOEwZIhu3EXSBrtHML04kbb0gII6irVf9YJEMy8MGsU=",
12
+
"owner": "tadfisher",
13
+
"repo": "android-nixpkgs",
14
+
"rev": "3e3987cb51c9ffbd38e62dba0f793940b55a9c07",
15
+
"type": "github"
16
+
},
17
+
"original": {
18
+
"owner": "tadfisher",
19
+
"repo": "android-nixpkgs",
20
+
"type": "github"
21
+
}
22
+
},
23
+
"devshell": {
24
+
"inputs": {
25
+
"nixpkgs": [
26
+
"android-nixpkgs",
27
+
"nixpkgs"
28
+
]
29
+
},
30
+
"locked": {
31
+
"lastModified": 1741473158,
32
+
"narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=",
33
+
"owner": "numtide",
34
+
"repo": "devshell",
35
+
"rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0",
36
+
"type": "github"
37
+
},
38
+
"original": {
39
+
"owner": "numtide",
40
+
"repo": "devshell",
41
+
"type": "github"
42
+
}
43
+
},
3
44
"flake-parts": {
4
45
"inputs": {
5
46
"nixpkgs-lib": [
···
39
80
"type": "github"
40
81
}
41
82
},
83
+
"flake-utils_2": {
84
+
"inputs": {
85
+
"systems": "systems_2"
86
+
},
87
+
"locked": {
88
+
"lastModified": 1731533236,
89
+
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
90
+
"owner": "numtide",
91
+
"repo": "flake-utils",
92
+
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
93
+
"type": "github"
94
+
},
95
+
"original": {
96
+
"owner": "numtide",
97
+
"repo": "flake-utils",
98
+
"type": "github"
99
+
}
100
+
},
42
101
"nixpkgs": {
102
+
"locked": {
103
+
"lastModified": 1744932701,
104
+
"narHash": "sha256-fusHbZCyv126cyArUwwKrLdCkgVAIaa/fQJYFlCEqiU=",
105
+
"owner": "NixOS",
106
+
"repo": "nixpkgs",
107
+
"rev": "b024ced1aac25639f8ca8fdfc2f8c4fbd66c48ef",
108
+
"type": "github"
109
+
},
110
+
"original": {
111
+
"owner": "NixOS",
112
+
"ref": "nixos-unstable",
113
+
"repo": "nixpkgs",
114
+
"type": "github"
115
+
}
116
+
},
117
+
"nixpkgs_2": {
43
118
"locked": {
44
119
"lastModified": 1743583204,
45
120
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
···
55
130
"type": "github"
56
131
}
57
132
},
58
-
"nixpkgs_2": {
133
+
"nixpkgs_3": {
59
134
"locked": {
60
135
"lastModified": 1744904290,
61
136
"narHash": "sha256-ewg0m4mGwl3iO4aN73yZoT8lCgEHtapP3d/trfUE6To=",
···
73
148
},
74
149
"root": {
75
150
"inputs": {
76
-
"flake-utils": "flake-utils",
77
-
"nixpkgs": "nixpkgs",
151
+
"android-nixpkgs": "android-nixpkgs",
152
+
"flake-utils": "flake-utils_2",
153
+
"nixpkgs": "nixpkgs_2",
78
154
"wrangler-flake": "wrangler-flake"
79
155
}
80
156
},
···
93
169
"type": "github"
94
170
}
95
171
},
172
+
"systems_2": {
173
+
"locked": {
174
+
"lastModified": 1681028828,
175
+
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
176
+
"owner": "nix-systems",
177
+
"repo": "default",
178
+
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
179
+
"type": "github"
180
+
},
181
+
"original": {
182
+
"owner": "nix-systems",
183
+
"repo": "default",
184
+
"type": "github"
185
+
}
186
+
},
96
187
"wrangler-flake": {
97
188
"inputs": {
98
189
"flake-parts": "flake-parts",
99
-
"nixpkgs": "nixpkgs_2"
190
+
"nixpkgs": "nixpkgs_3"
100
191
},
101
192
"locked": {
102
193
"lastModified": 1745836852,
+76
-26
flake.nix
+76
-26
flake.nix
···
2
2
inputs = {
3
3
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
4
4
flake-utils.url = "github:numtide/flake-utils";
5
+
android-nixpkgs.url = "github:tadfisher/android-nixpkgs";
5
6
wrangler-flake.url = "github:ryand56/wrangler";
6
7
};
7
8
8
-
outputs = {
9
-
nixpkgs,
10
-
flake-utils,
11
-
wrangler-flake,
12
-
...
13
-
}:
9
+
outputs =
10
+
{
11
+
nixpkgs,
12
+
flake-utils,
13
+
wrangler-flake,
14
+
android-nixpkgs,
15
+
...
16
+
}:
14
17
flake-utils.lib.eachDefaultSystem (
15
-
system: let
18
+
system:
19
+
let
16
20
pkgs = import nixpkgs {
17
21
inherit system;
18
22
config = {
23
+
android_sdk.accept_license = true;
19
24
allowUnfree = true;
20
25
};
21
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
+
);
22
51
in
23
-
with pkgs; {
24
-
packages = {
25
-
default = callPackage ./default.nix {};
26
-
};
27
-
devShells = {
28
-
default = mkShell {
29
-
packages = [
30
-
just
31
-
fastmod
32
-
nodejs
33
-
yarn
34
-
crowdin-cli
35
-
eas-cli
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
36
85
37
-
typescript
38
-
typescript-language-server
86
+
wrangler-flake.packages.${system}.wrangler
87
+
];
39
88
40
-
wrangler-flake.packages.${system}.wrangler
41
-
];
42
-
};
89
+
shellHook = ''
90
+
export GRADLE_USER_HOME=~/.cache/gradle
91
+
'';
43
92
};
44
-
}
93
+
};
94
+
}
45
95
);
46
96
}