106 lines
2.4 KiB
Nix
106 lines
2.4 KiB
Nix
|
{
|
||
|
description = "FMP Android dev environment.";
|
||
|
|
||
|
inputs = {
|
||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||
|
};
|
||
|
|
||
|
outputs = { self, nixpkgs } @inputs:
|
||
|
let
|
||
|
system = "x86_64-linux";
|
||
|
lib = nixpkgs.lib;
|
||
|
pkgs = import nixpkgs {
|
||
|
system = system;
|
||
|
config = {
|
||
|
allowUnfree = true;
|
||
|
android_sdk.accept_license = true;
|
||
|
};
|
||
|
};
|
||
|
jdk = pkgs.jdk11;
|
||
|
buildTools = "31.0.0";
|
||
|
androidComposition = pkgs.androidenv.composeAndroidPackages {
|
||
|
abiVersions = [ "armeabi-v7a" "arm64-v8a" ];
|
||
|
buildToolsVersions = [ buildTools ];
|
||
|
cmdLineToolsVersion = "8.0";
|
||
|
includeEmulator = false;
|
||
|
includeNDK = false;
|
||
|
includeSources = false;
|
||
|
includeSystemImages = false;
|
||
|
platformToolsVersion = "34.0.5";
|
||
|
platformVersions = [ "31" ];
|
||
|
toolsVersion = "26.1.1";
|
||
|
useGoogleAPIs = false;
|
||
|
useGoogleTVAddOns = false;
|
||
|
# cmakeVersions = [ "3.10.2" ];
|
||
|
# emulatorVersion = "30.3.4";
|
||
|
# includeExtras = [ "extras;google;gcm" ];
|
||
|
# ndkVersions = ["22.0.7026061"];
|
||
|
# systemImageTypes = [ "google_apis_playstore" ];
|
||
|
};
|
||
|
androidSdk = androidComposition.androidsdk;
|
||
|
tex = (pkgs.texlive.combine {
|
||
|
inherit (pkgs.texlive) scheme-basic
|
||
|
amsmath
|
||
|
babel
|
||
|
capt-of
|
||
|
catchfile
|
||
|
collection-fontsextra
|
||
|
cyrillic
|
||
|
dvipng
|
||
|
dvisvgm
|
||
|
environ
|
||
|
etoolbox
|
||
|
fancyhdr
|
||
|
fontspec
|
||
|
geometry
|
||
|
hyperref
|
||
|
luacode
|
||
|
luatexbase
|
||
|
montserrat
|
||
|
parskip
|
||
|
pgf
|
||
|
tcolorbox
|
||
|
tocloft
|
||
|
ulem
|
||
|
wrapfig
|
||
|
xcolor;
|
||
|
|
||
|
#(setq org-latex-compiler "lualatex")
|
||
|
#(setq org-preview-latex-default-process 'dvisvgm)
|
||
|
});
|
||
|
in {
|
||
|
devShells.${system} = {
|
||
|
default = pkgs.mkShell {
|
||
|
inputsFrom = with self.devShells.${system}; [ dev doc ];
|
||
|
};
|
||
|
|
||
|
dev = pkgs.mkShell rec {
|
||
|
nativeBuildInputs = with pkgs; [
|
||
|
android-tools
|
||
|
androidSdk
|
||
|
glibc
|
||
|
gnumake
|
||
|
jdk
|
||
|
];
|
||
|
buildInputs = with pkgs; [];
|
||
|
|
||
|
GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${androidSdk}/libexec/android-sdk/build-tools/${buildTools}/aapt2";
|
||
|
JAVA_HOME = "${jdk}";
|
||
|
LD_LIBRARY_PATH = "${lib.makeLibraryPath buildInputs}";
|
||
|
ANDROID_SDK_ROOT = "${androidSdk}/libexec/android-sdk/";
|
||
|
};
|
||
|
|
||
|
doc = pkgs.mkShell rec {
|
||
|
nativeBuildInputs = with pkgs; [
|
||
|
gnumake
|
||
|
jdk
|
||
|
tex
|
||
|
];
|
||
|
buildInputs = with pkgs; [];
|
||
|
|
||
|
JAVA_HOME = "${jdk}";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|