staging again
This commit is contained in:
parent
751d5e996f
commit
fe9a07fad0
3 changed files with 88 additions and 11 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -9,6 +9,8 @@ result
|
||||||
*.nix.bak
|
*.nix.bak
|
||||||
*.nix~
|
*.nix~
|
||||||
/nix/store/
|
/nix/store/
|
||||||
|
file.txt
|
||||||
|
|
||||||
|
|
||||||
*~
|
*~
|
||||||
*.swp
|
*.swp
|
||||||
|
|
|
||||||
88
flake.nix
88
flake.nix
|
|
@ -8,7 +8,7 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nix-gaming = {
|
nix-gaming = {
|
||||||
url = "github:fufexan/nix-gaming"; # for glorious eggrolls
|
url = "github:fufexan/nix-gaming";
|
||||||
};
|
};
|
||||||
rpcs3-latest = {
|
rpcs3-latest = {
|
||||||
url = "github:RPCS3/rpcs3";
|
url = "github:RPCS3/rpcs3";
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
version = "1.15";
|
version = "1.15";
|
||||||
src = prev.fetchurl {
|
src = prev.fetchurl {
|
||||||
url = "https://github.com/zeux/pugixml/releases/download/v${version}/pugixml-${version}.tar.gz";
|
url = "https://github.com/zeux/pugixml/releases/download/v${version}/pugixml-${version}.tar.gz";
|
||||||
sha256 = "ZVreV/pwP7QhwuuaARO1BkvdsUXUFd0fiMeTU9kNURo=";
|
sha256 = "sha256-ZVreV/pwP7QhwuuaARO1BkvdsUXUFd0fiMeTU9kNURo=";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
SDL3 = prev.stdenv.mkDerivation rec {
|
SDL3 = prev.stdenv.mkDerivation rec {
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
owner = "libsdl-org";
|
owner = "libsdl-org";
|
||||||
repo = "SDL";
|
repo = "SDL";
|
||||||
rev = "preview-${version}";
|
rev = "preview-${version}";
|
||||||
sha256 = "XQwcl/udA+r5HJs21K+GtZ2GIXfXUHjYTXFYW4Yx+Do=";
|
sha256 = "sha256-S7yRcLHMPgq6+gec8l+ESxp2dJ+6Po/UNsBUXptQzMQ=";
|
||||||
};
|
};
|
||||||
nativeBuildInputs = [prev.cmake];
|
nativeBuildInputs = [prev.cmake];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
@ -59,7 +59,20 @@
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DSDL_STATIC=OFF"
|
"-DSDL_STATIC=OFF"
|
||||||
"-DSDL_SHARED=ON"
|
"-DSDL_SHARED=ON"
|
||||||
|
"-DSDL_CMAKE_DEBUG_POSTFIX="
|
||||||
|
"-DSDL_INSTALL_CMAKEDIR=${placeholder "out"}/lib/cmake/SDL3"
|
||||||
];
|
];
|
||||||
|
postInstall = ''
|
||||||
|
echo "SDL3 contents:" >&2
|
||||||
|
ls -lR $out >&2
|
||||||
|
if [ -f "$out/lib/cmake/SDL3/SDL3Config.cmake" ]; then
|
||||||
|
echo "SDL3Config.cmake:" >&2
|
||||||
|
cat $out/lib/cmake/SDL3/SDL3Config.cmake >&2
|
||||||
|
else
|
||||||
|
echo "ERROR: SDL3Config.cmake not found" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
rpcs3 = prev.rpcs3.overrideAttrs (oldAttrs: {
|
rpcs3 = prev.rpcs3.overrideAttrs (oldAttrs: {
|
||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
|
|
@ -67,6 +80,11 @@
|
||||||
++ [
|
++ [
|
||||||
prev.llvmPackages_18.llvm.dev
|
prev.llvmPackages_18.llvm.dev
|
||||||
prev.llvmPackages_18.clang
|
prev.llvmPackages_18.clang
|
||||||
|
prev.pkg-config
|
||||||
|
prev.qt6.qmake
|
||||||
|
prev.qt6.full
|
||||||
|
prev.xxd
|
||||||
|
prev.wayland-scanner
|
||||||
];
|
];
|
||||||
buildInputs =
|
buildInputs =
|
||||||
(oldAttrs.buildInputs or [])
|
(oldAttrs.buildInputs or [])
|
||||||
|
|
@ -74,7 +92,60 @@
|
||||||
prev.llvmPackages_18.llvm
|
prev.llvmPackages_18.llvm
|
||||||
prev.llvmPackages_18.libclang
|
prev.llvmPackages_18.libclang
|
||||||
final.SDL3
|
final.SDL3
|
||||||
|
prev.qt6.full
|
||||||
|
prev.vulkan-loader
|
||||||
|
prev.vulkan-tools
|
||||||
|
prev.wayland
|
||||||
|
prev.wayland-protocols
|
||||||
|
prev.libxkbcommon
|
||||||
|
prev.libpulseaudio
|
||||||
|
prev.libevdev
|
||||||
|
prev.udev
|
||||||
|
prev.glew
|
||||||
|
prev.libpng
|
||||||
|
prev.zstd
|
||||||
];
|
];
|
||||||
|
cmakeFlags =
|
||||||
|
(oldAttrs.cmakeFlags or [])
|
||||||
|
++ [
|
||||||
|
"-DCMAKE_PREFIX_PATH=${final.SDL3};${prev.qt6.full};${prev.wayland}"
|
||||||
|
"-DSDL3_DIR=${final.SDL3}/lib/cmake/SDL3"
|
||||||
|
"-DSDL3_INCLUDE_DIR=${final.SDL3}/include/SDL3"
|
||||||
|
"-DSDL3_LIBRARY=${final.SDL3}/lib/libSDL3.so"
|
||||||
|
"-DQt6_DIR=${prev.qt6.full}/lib/cmake/Qt6"
|
||||||
|
"-DWAYLAND_SCANNER=${prev.wayland-scanner}/bin/wayland-scanner"
|
||||||
|
"-DUSE_SYSTEM_FFMPEG=ON"
|
||||||
|
"-DUSE_SYSTEM_CURL=ON"
|
||||||
|
"-DUSE_SYSTEM_WOLFSSL=ON"
|
||||||
|
"-DUSE_QT=ON"
|
||||||
|
"-DUSE_VULKAN=ON"
|
||||||
|
"-DUSE_WAYLAND=ON"
|
||||||
|
"-DUSE_PULSEAUDIO=ON"
|
||||||
|
"-DUSE_LIBEVDEV=ON"
|
||||||
|
"-DUSE_SYSTEM_ZSTD=ON"
|
||||||
|
"-DCMAKE_VERBOSE_MAKEFILE=ON"
|
||||||
|
"-DCMake_MESSAGE_LOG_LEVEL=TRACE"
|
||||||
|
];
|
||||||
|
preConfigure = ''
|
||||||
|
echo "Verifying submodule directories:" >&2
|
||||||
|
ls -l 3rdparty/hidapi/hidapi 3rdparty/glslang/glslang 3rdparty/yaml-cpp/yaml-cpp 3rdparty/zstd/zstd >&2
|
||||||
|
if [ ! -f 3rdparty/hidapi/hidapi/CMakeLists.txt ]; then
|
||||||
|
echo "ERROR: hidapi submodule not fetched correctly" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Original 3rdparty/CMakeLists.txt:" >&2
|
||||||
|
cat 3rdparty/CMakeLists.txt >&2
|
||||||
|
sed -i '/find_package(SDL3/ {
|
||||||
|
s/find_package(SDL3.*)/set(SDL3_FOUND TRUE)/
|
||||||
|
a set(SDL3_INCLUDE_DIRS "${final.SDL3}/include/SDL3")
|
||||||
|
a set(SDL3_LIBRARIES "${final.SDL3}/lib/libSDL3.so")
|
||||||
|
}' 3rdparty/CMakeLists.txt
|
||||||
|
sed -i 's/message(FATAL_ERROR "SDL3 is not available on this system")/# Patched: SDL3 assumed available/' 3rdparty/CMakeLists.txt
|
||||||
|
echo "Patched 3rdparty/CMakeLists.txt:" >&2
|
||||||
|
cat 3rdparty/CMakeLists.txt >&2
|
||||||
|
echo "Checking submodules:" >&2
|
||||||
|
ls -lR 3rdparty/hidapi 3rdparty/glslang 3rdparty/yaml-cpp 3rdparty/cubeb 3rdparty/zstd >&2
|
||||||
|
'';
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
|
|
@ -85,7 +156,16 @@
|
||||||
lib = nixpkgs.lib;
|
lib = nixpkgs.lib;
|
||||||
|
|
||||||
rpcs3_latest = pkgs.rpcs3.overrideAttrs (oldAttrs: {
|
rpcs3_latest = pkgs.rpcs3.overrideAttrs (oldAttrs: {
|
||||||
src = rpcs3-latest;
|
src = pkgs.fetchgit {
|
||||||
|
url = "https://github.com/RPCS3/rpcs3.git";
|
||||||
|
rev = inputs.rpcs3-latest.rev; # Should be 37dbd77628f44cdef3228bdfc03127365ec7383b per flake.lock
|
||||||
|
sha256 = "sha256-Yx0Qsc0r+5C0BqqsbJCv47QPeaNbaIut8s6Hcysy2mo="; # Confirmed for 37dbd77628f44cdef3228bdfc03127365ec7383b with submodules
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
preUnpack = ''
|
||||||
|
echo "Source rev: ${inputs.rpcs3-latest.rev}" >&2
|
||||||
|
echo "Expected rev: 37dbd77628f44cdef3228bdfc03127365ec7383b" >&2
|
||||||
|
'';
|
||||||
});
|
});
|
||||||
in {
|
in {
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,4 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
pkgs,
|
|
||||||
inputs,
|
|
||||||
rpcs3_latest,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
imports = [
|
imports = [
|
||||||
./modules/dunst.nix
|
./modules/dunst.nix
|
||||||
./modules/fish.nix
|
./modules/fish.nix
|
||||||
|
|
@ -16,7 +11,7 @@
|
||||||
./modules/starship.nix
|
./modules/starship.nix
|
||||||
./modules/zellij.nix
|
./modules/zellij.nix
|
||||||
./modules/ffmpeg.nix
|
./modules/ffmpeg.nix
|
||||||
(import ./modules/emulators.nix {inherit pkgs inputs rpcs3_latest;})
|
./modules/emulators.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.username = "cobray";
|
home.username = "cobray";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue