diff --git a/flake.nix b/flake.nix index 0cea3e1..5f01eec 100644 --- a/flake.nix +++ b/flake.nix @@ -51,6 +51,22 @@ isDarwin = pkgs.stdenv.isDarwin; + raylibWayland = pkgs.raylib.overrideAttrs (_old: { + cmakeFlags = [ + "-DCUSTOMIZE_BUILD=ON" + "-DBUILD_EXAMPLES=OFF" + "-DPLATFORM=Desktop" + "-DUSE_EXTERNAL_GLFW=ON" + "-DINCLUDE_EVERYTHING=ON" + "-DBUILD_SHARED_LIBS=ON" + ]; + buildInputs = [ + pkgs.glfw + pkgs.wayland + pkgs.libxkbcommon + ]; + }); + raylibDrm = pkgs.raylib.overrideAttrs (_old: { cmakeFlags = [ "-DCUSTOMIZE_BUILD=ON" @@ -78,14 +94,27 @@ NIX_CFLAGS_COMPILE = "-I${pkgs.libdrm.dev}/include/libdrm"; }); - commonBuildInputs = with pkgs; + baseBuildInputs = with pkgs; [ openssl shaderc - raylibDrm ] ++ pkgs.lib.optionals (!isDarwin) [ - llvmPackages.libclang + udev + ]; + + packageBuildInputs = + baseBuildInputs + ++ [ raylibDrm ] + ++ pkgs.lib.optionals (!isDarwin) [ + pkgs.llvmPackages.libclang + ]; + + devShellBuildInputs = + baseBuildInputs + ++ [ raylibWayland ] + ++ pkgs.lib.optionals (!isDarwin) [ + pkgs.llvmPackages.libclang ]; commonNativeBuildInputs = with pkgs; [ @@ -104,12 +133,12 @@ cargoLock.lockFile = ./Cargo.lock; nativeBuildInputs = commonNativeBuildInputs; - buildInputs = commonBuildInputs; + buildInputs = packageBuildInputs; LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib"; postFixup = pkgs.lib.optionalString (!isDarwin) '' wrapProgram $out/bin/singer \ - --prefix LD_LIBRARY_PATH : "${pkgs.lib.makeLibraryPath commonBuildInputs}" + --prefix LD_LIBRARY_PATH : "${pkgs.lib.makeLibraryPath packageBuildInputs}" ''; }; in @@ -133,10 +162,10 @@ cargo-watch rust-analyzer ]) - ++ commonBuildInputs + ++ devShellBuildInputs ++ commonNativeBuildInputs; - LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath commonBuildInputs; + LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath devShellBuildInputs; LIBCLANG_PATH = "${pkgs.llvmPackages.libclang.lib}/lib"; shellHook = ''