1{
2 callPackage,
3 makeFontsConf,
4 buildFHSEnv,
5 tiling_wm ? false,
6}:
7
8let
9 mkStudio =
10 opts:
11 callPackage (import ./common.nix opts) {
12 fontsConf = makeFontsConf {
13 fontDirectories = [ ];
14 };
15 inherit buildFHSEnv;
16 inherit tiling_wm;
17 };
18 stableVersion = {
19 version = "2025.1.1.14"; # "Android Studio Narwhal | 2025.1.1 Patch 1"
20 sha256Hash = "sha256-rTZOvLl1Lqc0zXNiTmVoMnLEAwWOEDW5MJg8ysiiyBo=";
21 };
22 betaVersion = {
23 version = "2025.1.2.10"; # "Android Studio Narwhal Feature Drop | 2025.1.2 RC 1"
24 sha256Hash = "sha256-qA7iu4nK+29aHKsUmyQWuwV0SFnv5cYQvFq5CAMKyKw=";
25 };
26 latestVersion = {
27 version = "2025.1.3.2"; # "Android Studio Narwhal Feature Drop | 2025.1.3 Canary 2"
28 sha256Hash = "sha256-6ZjjIzZ5y6VzbbKSIeDlXE+77fAksy532D+LlqMCmo4=";
29 };
30in
31{
32 # Attributes are named by their corresponding release channels
33
34 stable = mkStudio (
35 stableVersion
36 // {
37 channel = "stable";
38 pname = "android-studio";
39 }
40 );
41
42 beta = mkStudio (
43 betaVersion
44 // {
45 channel = "beta";
46 pname = "android-studio-beta";
47 }
48 );
49
50 dev = mkStudio (
51 latestVersion
52 // {
53 channel = "dev";
54 pname = "android-studio-dev";
55 }
56 );
57
58 canary = mkStudio (
59 latestVersion
60 // {
61 channel = "canary";
62 pname = "android-studio-canary";
63 }
64 );
65}