monorepo/flake.nix

77 lines
2.4 KiB
Nix

{
description = "Lumenescent Dreams Tools";
inputs = {
nixpkgs.url = "nixpkgs/nixos-22.11";
unstable.url = "nixpkgs/nixos-unstable";
oxalica.url = "https://github.com/oxalica/rust-overlay/archive/master.tar.gz";
};
outputs = { self, nixpkgs, unstable, oxalica }:
let
version = builtins.string 0 8 self.lastModifiedDate;
supportedSystems = [ "x86_64-linux" ];
in
{
devShell."x86_64-linux" =
let
rust_overlay = import oxalica;
pkgs = import nixpkgs { system = "x86_64-linux"; overlays = [ rust_overlay ]; };
pkgs-unstable = import unstable {
system = "x86_64-linux";
overlays = [ rust_overlay ];
config.android_sdk.accept_license = true;
config.allowUnfree = true;
};
rust = pkgs.rust-bin.stable."1.65.0".default.override {
extensions = [ "rust-src" ];
};
/*
androidComposition = pkgs-unstable.androidenv.composeAndroidPackages {
cmdLineToolsVersion = "8.0";
toolsVersion = "26.1.1";
platformToolsVersion = "33.0.3";
includeEmulator = true;
platformVersions = [ "28" "29" "30" ];
abiVersions = [ "arm64-v8a" ];
includeNDK = true;
};
*/
buildToolsVersion = "30.0.3";
androidsdk = pkgs-unstable.androidenv.androidPkgs_9_0.androidsdk;
in
pkgs.mkShell rec {
name = "ld-tools-devshell";
buildInputs = [
pkgs.clang
pkgs.entr
pkgs.glade
pkgs.glib
pkgs.gst_all_1.gst-plugins-bad
pkgs.gst_all_1.gst-plugins-base
pkgs.gst_all_1.gst-plugins-good
pkgs.gst_all_1.gst-plugins-ugly
pkgs.gst_all_1.gstreamer
pkgs.gtk4
pkgs.nodejs
pkgs.openssl
pkgs.pipewire
pkgs.pkg-config
pkgs.sqlite
pkgs-unstable.android-studio
pkgs-unstable.gradle
androidsdk
rust
];
LIBCLANG_PATH="${pkgs.llvmPackages.libclang.lib}/lib";
ANDROID_SDK_ROOT = "${androidsdk}/libexec/android-sdk";
ANDROID_NDK_ROOT = "${ANDROID_SDK_ROOT}/ndk-bundle";
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_SDK_ROOT}/build-tools/${buildToolsVersion}/aapt2";
};
};
}