aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2024-05-12 17:44:15 +0530
committerAkshay Nair <phenax5@gmail.com>2024-09-29 16:16:38 +0530
commit55aef19e3a08b1c87aab6c9c16c20ea9da309029 (patch)
treec6417f169726d8b96f9fa30dd982249161d7a55b /flake.nix
parent8ca8f830a09d8ff08ccb654199cb33779117cc37 (diff)
downloaddaft-launcher-55aef19e3a08b1c87aab6c9c16c20ea9da309029.tar.gz
daft-launcher-55aef19e3a08b1c87aab6c9c16c20ea9da309029.zip
Build schtuff
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix68
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; };
+ });
+}