notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

shell.nix (2013B)


      1 { pkgs ? import <nixpkgs> { }
      2 , android ? "https://github.com/tadfisher/android-nixpkgs/archive/refs/tags/2025-01-27.tar.gz"
      3 , use_android ? true
      4 , android_emulator ? false
      5 }:
      6 with pkgs;
      7 
      8 let
      9   x11libs = lib.makeLibraryPath [ xorg.libX11 xorg.libXcursor xorg.libXrandr xorg.libXi libglvnd vulkan-loader vulkan-validation-layers libxkbcommon wayland ];
     10 in
     11 mkShell ({
     12   nativeBuildInputs = [
     13     #cargo-udeps
     14     #cargo-edit
     15     #cargo-watch
     16     rustup
     17     libiconv
     18     pkg-config
     19     #cmake
     20     fontconfig
     21     gradle
     22     #gtk3
     23     #gsettings-desktop-schemas
     24     #brotli
     25     #wabt
     26     #gdb
     27     #heaptrack
     28   ] ++ lib.optionals (!stdenv.isDarwin) [
     29     zenity
     30   ] ++ lib.optionals use_android [
     31     jre
     32     openssl
     33     libiconv
     34     cargo-apk
     35   ] ++ lib.optional stdenv.isDarwin [
     36     darwin.apple_sdk.frameworks.Security
     37     darwin.apple_sdk.frameworks.OpenGL
     38     darwin.apple_sdk.frameworks.CoreServices
     39     darwin.apple_sdk.frameworks.AppKit
     40   ];
     41 
     42 } // (
     43   lib.optionalAttrs (!stdenv.isDarwin) {
     44     LD_LIBRARY_PATH = "${x11libs}";
     45     #XDG_DATA_DIRS = "${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}";
     46   }
     47 ) // (
     48   lib.optionalAttrs use_android (
     49     let
     50       android-nixpkgs = callPackage (fetchTarball android) { };
     51       #ndk-version = "24.0.8215888";
     52       ndk-version = "27.2.12479018";
     53 
     54       android-sdk = android-nixpkgs.sdk (sdkPkgs: with sdkPkgs; [
     55         cmdline-tools-latest
     56         build-tools-34-0-0
     57         platform-tools
     58         platforms-android-30
     59         ndk-27-2-12479018
     60         #ndk-24-0-8215888
     61       ] ++ lib.optional android_emulator [ emulator ]);
     62 
     63       android-sdk-path = "${android-sdk.out}/share/android-sdk";
     64       android-ndk-path = "${android-sdk-path}/ndk/${ndk-version}";
     65 
     66     in
     67     {
     68       buildInputs = [ android-sdk ];
     69       ANDROID_NDK_ROOT = android-ndk-path;
     70       GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${aapt}/bin/aapt2";
     71     }
     72   )
     73 ))