Files
lunarwm/flake.nix
Slendi f74937bb6a Initial commit
Signed-off-by: Slendi <slendi@socopon.com>
2025-10-01 20:29:18 +03:00

89 lines
2.0 KiB
Nix

{
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
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"
'';
};
}
);
}