{ description = "unnamed game"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { nixpkgs, flake-utils, ... }: let lib = nixpkgs.lib; supportedSystems = let inherit (flake-utils.lib) system; in [ system.aarch64-linux system.x86_64-linux ]; in flake-utils.lib.eachSystem supportedSystems (system: let pkgs = import nixpkgs {inherit system;}; libs = with pkgs; [ libGL alsa-lib pulseaudio wayland xorg.libXrandr xorg.libXinerama xorg.libXcursor xorg.libXi SDL2 ]; in { devShell = pkgs.mkShell { packages = with pkgs; [ # rust rustc rustfmt rust-analyzer cargo clippy # raylib cmake clang glfw pkg-config ] ++ libs; shellHook = '' # Set SDL video driver if [ "$XDG_SESSION_TYPE" == "wayland" ]; then export SDL_VIDEODRIVER=wayland else export SDL_VIDEODRIVER=x11 fi ''; LD_LIBRARY_PATH = lib.makeLibraryPath libs; LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib"; }; formatter = pkgs.alejandra; }); }