{ description = "LunarWM is a VR-based Wayland compositor"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, }: 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 # For wlroots libxkbcommon libdrm xorg.libxcb pixman libgbm lcms2 seatd libdisplay-info libliftoff libinput xorg.xcbutilrenderutil xorg.xcbutilwm xorg.xcbutilerrors 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" ''; }; } ); }