diff options
Diffstat (limited to 'modules/android.nix')
| -rw-r--r-- | modules/android.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/modules/android.nix b/modules/android.nix new file mode 100644 index 0000000..7da4990 --- /dev/null +++ b/modules/android.nix @@ -0,0 +1,51 @@ +{ config, pkgs, ... }: + +{ + #### SYSTEM (NixOS) #### + + programs.adb.enable = true; + + nixpkgs.config.android_sdk.accept_license = true; + + users.users.anand.extraGroups = [ "adbusers" ]; + + + #### USER (Home Manager) #### + + home-manager.users.anand = { pkgs, ... }: + let + androidSdk = pkgs.androidenv.composeAndroidPackages { + platformVersions = [ "35" ]; + buildToolsVersions = [ "35.0.0" ]; + platformToolsVersion = "35.0.1"; + includeEmulator = true; + includeSources = true; + cmdLineToolsVersion = "12.0"; + }; + in + { + home.packages = [ + pkgs.flutter + androidSdk.androidsdk + androidSdk.emulator + ]; + + home.sessionPath = [ + "${androidSdk.androidsdk}/libexec/android-sdk/platform-tools" + "${androidSdk.androidsdk}/libexec/android-sdk/cmdline-tools/latest/bin" + ]; + + home.sessionVariables = { + ANDROID_SDK_ROOT = + "${androidSdk.androidsdk}/libexec/android-sdk"; + + ANDROID_HOME = + "${androidSdk.androidsdk}/libexec/android-sdk"; + + # This makes Flutter happy even if layout differs + ANDROID_SDK_MANAGER = + "${androidSdk.androidsdk}/libexec/android-sdk/cmdline-tools/*/bin/sdkmanager"; + }; + }; +} + |
