{ description = "LunarWM is a VR-based Wayland compositor"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; wlroots-lunar = { url = "github:slendidev/wlroots-lunar"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, flake-utils, wlroots-lunar, }: flake-utils.lib.eachDefaultSystem ( system: let pkgs = import nixpkgs { system = system; config.cudaSupport = true; config.allowUnfree = true; }; in { devShells.default = pkgs.mkShell.override { stdenv = pkgs.llvmPackages_20.libcxxStdenv; } { hardeningDisable = [ "fortify" ]; packages = with pkgs; [ pkg-config cmake ninja (pkgs.llvmPackages_20.clang-tools.override { enableLibcxx = true; }) lldb valgrind lua # For wlroots libxkbcommon libxkbcommon.dev libdrm xorg.libxcb pixman libgbm lcms2 seatd libdisplay-info libliftoff libinput xorg.xcbutilrenderutil xorg.xcbutilwm xorg.xcbutilerrors vulkan-loader wlroots-lunar.packages."${system}".default # For raylib xorg.libXrandr xorg.libXinerama xorg.libXcursor xorg.libXi glfw boost libffi wayland wayland-scanner wayland-protocols openxr-loader libGL glm xorg.libX11 xorg.libXau xorg.libXdmcp ]; shellHook = '' export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -B${pkgs.llvmPackages_20.libcxx}/lib -I${pkgs.llvmPackages_20.libcxx.dev}/include/c++/v1" ''; }; } ); }