From 751d5e996f6969e49e50a9768aea0c3de7cf1b4c Mon Sep 17 00:00:00 2001 From: alsaiduq-lab Date: Thu, 3 Apr 2025 13:21:50 -0600 Subject: [PATCH] staging --- flake.nix | 51 ++++++++++++++++++++++++++++-- home-manager/cobray.nix | 3 +- home-manager/modules/emulators.nix | 8 +++-- 3 files changed, 57 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index 8e99732..d42e614 100644 --- a/flake.nix +++ b/flake.nix @@ -25,11 +25,58 @@ ... } @ inputs: let system = "x86_64-linux"; - customPkgsOverlay = final: prev: - import ./pkgs { + customPkgsOverlay = final: prev: let + customPkgs = import ./pkgs { pkgs = prev; lib = prev.lib; }; + in + customPkgs + // { + pugixml = prev.pugixml.overrideAttrs (oldAttrs: rec { + version = "1.15"; + src = prev.fetchurl { + url = "https://github.com/zeux/pugixml/releases/download/v${version}/pugixml-${version}.tar.gz"; + sha256 = "ZVreV/pwP7QhwuuaARO1BkvdsUXUFd0fiMeTU9kNURo="; + }; + }); + SDL3 = prev.stdenv.mkDerivation rec { + pname = "SDL3"; + version = "3.1.3"; + src = prev.fetchFromGitHub { + owner = "libsdl-org"; + repo = "SDL"; + rev = "preview-${version}"; + sha256 = "XQwcl/udA+r5HJs21K+GtZ2GIXfXUHjYTXFYW4Yx+Do="; + }; + nativeBuildInputs = [prev.cmake]; + buildInputs = [ + prev.libGL + prev.xorg.libX11 + prev.xorg.libXext + prev.alsa-lib + ]; + cmakeFlags = [ + "-DSDL_STATIC=OFF" + "-DSDL_SHARED=ON" + ]; + }; + rpcs3 = prev.rpcs3.overrideAttrs (oldAttrs: { + nativeBuildInputs = + (oldAttrs.nativeBuildInputs or []) + ++ [ + prev.llvmPackages_18.llvm.dev + prev.llvmPackages_18.clang + ]; + buildInputs = + (oldAttrs.buildInputs or []) + ++ [ + prev.llvmPackages_18.llvm + prev.llvmPackages_18.libclang + final.SDL3 + ]; + }); + }; pkgs = import nixpkgs { inherit system; config.allowUnfree = true; diff --git a/home-manager/cobray.nix b/home-manager/cobray.nix index e35b4be..cb4c2b8 100644 --- a/home-manager/cobray.nix +++ b/home-manager/cobray.nix @@ -1,5 +1,6 @@ { pkgs, + inputs, rpcs3_latest, ... }: { @@ -15,7 +16,7 @@ ./modules/starship.nix ./modules/zellij.nix ./modules/ffmpeg.nix - (import ./modules/emulators.nix {inherit pkgs rpcs3_latest;}) + (import ./modules/emulators.nix {inherit pkgs inputs rpcs3_latest;}) ]; home.username = "cobray"; diff --git a/home-manager/modules/emulators.nix b/home-manager/modules/emulators.nix index 0e2b965..84f575b 100644 --- a/home-manager/modules/emulators.nix +++ b/home-manager/modules/emulators.nix @@ -1,8 +1,12 @@ { pkgs, - rpcs3_latest, + inputs, ... -}: { +}: let + rpcs3_latest = pkgs.rpcs3.overrideAttrs (oldAttrs: { + src = inputs.rpcs3-latest; + }); +in { home.packages = with pkgs; [ mgba desmume