mirror of
https://github.com/slendidev/lunar.git
synced 2025-12-08 10:29:52 +02:00
72
flake.nix
Normal file
72
flake.nix
Normal file
@@ -0,0 +1,72 @@
|
||||
{
|
||||
description = "My flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
flake-utils,
|
||||
}:
|
||||
flake-utils.lib.eachDefaultSystem (
|
||||
system:
|
||||
let
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
nativeBuildInputs = with pkgs; [
|
||||
vulkan-loader
|
||||
vulkan-memory-allocator
|
||||
vulkan-validation-layers
|
||||
vk-bootstrap
|
||||
openxr-loader
|
||||
wayland
|
||||
zlib
|
||||
sdl3
|
||||
];
|
||||
buildInputs = with pkgs; [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
];
|
||||
in
|
||||
{
|
||||
devShells.default =
|
||||
pkgs.mkShell.override { stdenv = pkgs.stdenvAdapters.useMoldLinker pkgs.llvmPackages_21.stdenv; }
|
||||
{
|
||||
packages =
|
||||
with pkgs;
|
||||
[
|
||||
llvmPackages_21.clang-tools
|
||||
lldb
|
||||
codespell
|
||||
doxygen
|
||||
gtest
|
||||
cppcheck
|
||||
]
|
||||
++ buildInputs
|
||||
++ nativeBuildInputs
|
||||
++ pkgs.lib.optionals pkgs.stdenv.isLinux (
|
||||
with pkgs;
|
||||
[
|
||||
valgrind-light
|
||||
]
|
||||
);
|
||||
shellHook = ''
|
||||
export VK_BOOTSTRAP_LIB=${pkgs.vk-bootstrap}
|
||||
export VK_BOOTSTRAP_DEV=${pkgs.vk-bootstrap.dev}
|
||||
|
||||
cat > .clangd << 'EOF'
|
||||
CompileFlags:
|
||||
Add: [
|
||||
"-isystem", "${pkgs.llvmPackages_21.libcxx.dev}/include/c++/v1",
|
||||
"-isystem", "${pkgs.glibc.dev}/include"
|
||||
]
|
||||
EOF
|
||||
'';
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user