diff options
| author | Akshay Nair <phenax5@gmail.com> | 2024-05-12 17:44:15 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2024-09-29 16:16:38 +0530 |
| commit | 55aef19e3a08b1c87aab6c9c16c20ea9da309029 (patch) | |
| tree | c6417f169726d8b96f9fa30dd982249161d7a55b /flake.nix | |
| parent | 8ca8f830a09d8ff08ccb654199cb33779117cc37 (diff) | |
| download | daft-launcher-55aef19e3a08b1c87aab6c9c16c20ea9da309029.tar.gz daft-launcher-55aef19e3a08b1c87aab6c9c16c20ea9da309029.zip | |
Build schtuff
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..fa53718 --- /dev/null +++ b/flake.nix @@ -0,0 +1,68 @@ +{ + inputs = { + flake-utils.url = "github:numtide/flake-utils"; + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + }; + + outputs = { self, nixpkgs, flake-utils, ... }: + let + androidVersion = "34"; + systemImageType = "google_apis_playstore"; + abiVersion = "x86_64"; + buildToolVersion = "34.0.0"; + + shell = { pkgs, system }: let + jdk = pkgs.jdk17; + + androidComposition = pkgs.androidenv.composeAndroidPackages { + includeEmulator = true; + platformVersions = [ androidVersion ]; + abiVersions = [ "x86" abiVersion ]; + systemImageTypes = [ systemImageType ]; + includeSystemImages = true; + useGoogleAPIs = true; + buildToolsVersions = [ "30.0.3" buildToolVersion ]; + includeNDK = true; + ndkVersion = "23.1.7779620"; + cmakeVersions = [ "3.22.1" ]; + }; + in pkgs.mkShell rec { + buildInputs = with pkgs; [ + bun + nodePackages."@tailwindcss/language-server" + nodePackages.typescript + nodePackages.typescript-language-server + + androidComposition.androidsdk + androidComposition.platform-tools + jdk + just + ]; + + JAVA_HOME = "${jdk.home}"; + ANDROID_JAVA_HOME = JAVA_HOME; + ANDROID_HOME = "${androidComposition.androidsdk}/libexec/android-sdk"; + ANDROID_AVD_HOME = "/home/imsohexy/.config/.android/avd"; + + MY_ANDROID_AVD_PKG = "system-images;android-${androidVersion};${systemImageType};${abiVersion}"; + + GRADLE_OPTS = + "-Dorg.gradle.project.android.aapt2FromMavenOverride=${androidComposition.androidsdk}/libexec/android-sdk/build-tools/${buildToolVersion}/aapt2"; + }; + in + flake-utils.lib.eachDefaultSystem + (system: + let + pkgs = import nixpkgs { + inherit system; + config = { + android_sdk.accept_license = true; + licenseAccepted = true; + allowUnfree = true; + }; + }; + in + { + devShells.default = shell { inherit pkgs system; }; + }); +} |
