2024-09-08 05:13:44 -05:00
|
|
|
{
|
|
|
|
inputs = {
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
fenix = {
|
2024-09-26 05:51:35 -05:00
|
|
|
url = "github:nix-community/fenix/monthly";
|
2024-09-08 05:13:44 -05:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
outputs = { self, nixpkgs, flake-utils, fenix }:
|
|
|
|
flake-utils.lib.eachDefaultSystem (system: let
|
|
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
|
|
in {
|
|
|
|
devShell = pkgs.mkShell.override {
|
|
|
|
stdenv = if pkgs.stdenv.isLinux then
|
|
|
|
pkgs.stdenvAdapters.useMoldLinker pkgs.clangStdenv
|
|
|
|
else
|
|
|
|
pkgs.clangStdenv;
|
|
|
|
} rec {
|
|
|
|
packages = with pkgs; [
|
|
|
|
(fenix.packages.${system}.complete.withComponents [
|
|
|
|
"cargo"
|
|
|
|
"rustc"
|
|
|
|
"rust-src"
|
|
|
|
"rustfmt"
|
|
|
|
"rust-analyzer"
|
|
|
|
"clippy"
|
|
|
|
])
|
|
|
|
pkg-config
|
|
|
|
cmake
|
|
|
|
];
|
|
|
|
buildInputs = with pkgs; [
|
|
|
|
wayland
|
|
|
|
xorg.libxcb
|
|
|
|
libxkbcommon
|
|
|
|
vulkan-tools
|
|
|
|
vulkan-headers
|
|
|
|
vulkan-loader
|
|
|
|
libGL
|
|
|
|
xorg.libX11
|
|
|
|
xorg.libXcursor
|
|
|
|
xorg.libXi
|
|
|
|
xorg.libXrandr
|
|
|
|
glslang
|
|
|
|
];
|
|
|
|
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath buildInputs;
|
2024-12-11 13:18:47 -06:00
|
|
|
RUSTFLAGS = "-Zthreads=8"; # (may cause rustc to ice?)
|
2024-09-08 05:13:44 -05:00
|
|
|
MANGOHUD_DLSYM = "1"; # mangohud glium fix
|
|
|
|
};
|
|
|
|
});
|
|
|
|
}
|