88
flake.nix
Normal file
88
flake.nix
Normal file
@@ -0,0 +1,88 @@
|
||||
{
|
||||
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"
|
||||
'';
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user