Live location tracking and playback for the game "manhunt"
at ben/frontend 93 lines 3.0 kB view raw
1{ 2 inputs = { 3 nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; 4 flakelight.url = "github:nix-community/flakelight"; 5 rust-overlay.url = "github:oxalica/rust-overlay"; 6 rust-overlay.inputs.nixpkgs.follows = "nixpkgs"; 7 flakelight-treefmt.url = "github:m15a/flakelight-treefmt"; 8 flakelight-treefmt.inputs.flakelight.follows = "flakelight"; 9 }; 10 outputs = {flakelight, ...} @ inputs: 11 flakelight ./. { 12 inherit inputs; 13 imports = [inputs.flakelight-treefmt.flakelightModules.default]; 14 withOverlays = [inputs.rust-overlay.overlays.default]; 15 nixpkgs.config = { 16 allowUnfree = true; 17 android_sdk.accept_license = true; 18 }; 19 20 treefmtConfig = {pkgs, ...}: { 21 programs = { 22 alejandra.enable = true; 23 just.enable = true; 24 prettier.enable = true; 25 rustfmt.enable = true; 26 }; 27 }; 28 29 devShell = pkgs: let 30 buildToolsVersion = "34.0.0"; 31 androidComposition = pkgs.androidenv.composeAndroidPackages { 32 platformVersions = [ 33 "34" 34 "36" 35 "latest" 36 ]; 37 systemImageTypes = ["google_apis_playstore"]; 38 buildToolsVersions = [buildToolsVersion]; 39 abiVersions = [ 40 "armeabi-v7a" 41 "arm64-v8a" 42 "x86_64" 43 ]; 44 includeNDK = true; 45 includeExtras = [ 46 "extras;google;auto" 47 ]; 48 }; 49 in { 50 shellHook = let 51 ANDROID_HOME = "${androidComposition.androidsdk}/libexec/android-sdk"; 52 in '' 53 export XDG_DATA_DIRS="$GSETTINGS_SCHEMAS_PATH" 54 export GIO_EXTRA_MODULES="${pkgs.dconf.lib}/lib/gio/modules:${pkgs.glib-networking}/lib/gio/modules" 55 export ANDROID_HOME=${ANDROID_HOME} 56 export NDK_HOME="${androidComposition.androidsdk}/libexec/android-sdk/ndk/${builtins.head (pkgs.lib.lists.reverseList (builtins.split "-" "${androidComposition.ndk-bundle}"))}" 57 export GRADLE_OPTS="-Dorg.gradle.project.android.aapt2FromMavenOverride=${ANDROID_HOME}/build-tools/${buildToolsVersion}/aapt2" 58 ''; 59 packages = with pkgs; [ 60 at-spi2-atk 61 atkmm 62 cairo 63 gdk-pixbuf 64 glib 65 gtk3 66 alejandra 67 harfbuzz 68 librsvg 69 gradle 70 libsoup_3 71 just 72 pango 73 webkitgtk_4_1 74 cargo-nextest 75 openssl 76 pkg-config 77 gobject-introspection 78 nodePackages.prettier 79 (rust-bin.stable.latest.default.override { 80 targets = [ 81 "aarch64-linux-android" 82 "armv7-linux-androideabi" 83 "i686-linux-android" 84 "x86_64-linux-android" 85 ]; 86 }) 87 cargo-tauri 88 nodejs 89 (android-studio.withSdk androidComposition.androidsdk) 90 ]; 91 }; 92 }; 93}