diff --git a/provision/flake.lock b/provision/flake.lock index 7509496c..aef575b4 100644 --- a/provision/flake.lock +++ b/provision/flake.lock @@ -105,11 +105,11 @@ ] }, "locked": { - "lastModified": 1725831139, - "narHash": "sha256-9syY5nEehCswE8AMcjpUO4T0iX9nrNbzq69Kqcs92L0=", + "lastModified": 1731235328, + "narHash": "sha256-NjavpgE9/bMe/ABvZpyHIUeYF1mqR5lhaep3wB79ucs=", "owner": "nix-community", "repo": "home-manager", - "rev": "8a175a89137fe798b33c476d4dae17dba5fb3fd3", + "rev": "60bb110917844d354f3c18e05450606a435d2d10", "type": "github" }, "original": { @@ -121,11 +121,11 @@ "jovian-nixos": { "flake": false, "locked": { - "lastModified": 1725600800, - "narHash": "sha256-wst7p3RZ9kZUNzN22d27wU8YSBB7Grlx6Q03A7boRaU=", + "lastModified": 1731227601, + "narHash": "sha256-aGUQ6W/Oxd9xjH9RQbnUtC61sTK2fWlKr+J7kavT/RQ=", "ref": "development", - "rev": "2d050e65a71e02a1f19d1a35c086bd2e3dfb2cdb", - "revCount": 918, + "rev": "7691d0ac1deb6ac7482c5a22fe1a14a34ca608b0", + "revCount": 1019, "type": "git", "url": "https://github.com/Jovian-Experiments/Jovian-NixOS" }, @@ -144,11 +144,11 @@ ] }, "locked": { - "lastModified": 1727464323, - "narHash": "sha256-XhiLvnM95aNpRm3qJ9hsVV/prin4GVapn4snMN4Ol6k=", + "lastModified": 1730453870, + "narHash": "sha256-d+kIgz4BvTXb7emjSFV3zjNydGmLUmuluQjdBb51R9o=", "owner": "nix-community", "repo": "NixOS-WSL", - "rev": "4aef94d5afb4a791e5e9a3ee844c68ad01f54a14", + "rev": "adb6bc4b661a43328752b4575be4968a4990c033", "type": "github" }, "original": { @@ -175,11 +175,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1725634671, - "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", + "lastModified": 1731139594, + "narHash": "sha256-IigrKK3vYRpUu+HEjPL/phrfh7Ox881er1UEsZvw9Q4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", + "rev": "76612b17c0ce71689921ca12d9ffdc9c23ce40b2", "type": "github" }, "original": { diff --git a/provision/hosts/default/default.nix b/provision/hosts/default/default.nix index f21acec4..91659a5d 100644 --- a/provision/hosts/default/default.nix +++ b/provision/hosts/default/default.nix @@ -1,7 +1,7 @@ { config, pkgs, user, lib, inputs, ... }: { nix = { - package = pkgs.nixFlakes; + package = pkgs.nixVersions.stable; extraOptions = "experimental-features = nix-command flakes"; settings.auto-optimise-store = true; gc = { diff --git a/provision/modules/gaming/emulation.nix b/provision/modules/gaming/emulation.nix index 8e9dd597..e27a8739 100644 --- a/provision/modules/gaming/emulation.nix +++ b/provision/modules/gaming/emulation.nix @@ -7,7 +7,7 @@ in { environment.systemPackages = with pkgs; [ ryujinx # Fuck Nintendo! sudachi # Nintendo Switch emulator written in C++. - yuzu # Fuck Nintendo! + #yuzu # Fuck Nintendo! dolphin-emu # GameCube and Wii emulator. ppsspp # PSP emulator. mgba # Game Boy Advance emulator. diff --git a/provision/modules/programs/kitty.nix b/provision/modules/programs/kitty.nix index 4a8071a9..a56ecb7e 100644 --- a/provision/modules/programs/kitty.nix +++ b/provision/modules/programs/kitty.nix @@ -11,7 +11,7 @@ in { programs.kitty = { enable = true; - theme = "Gruvbox Dark"; + themeFile = "GruvboxMaterialDarkHard"; font.name = "JetBrainsMono Nerd Font"; shellIntegration.mode = "no-cursor"; settings = { diff --git a/provision/overlays/default.nix b/provision/overlays/default.nix index 1abcece9..e1b3413c 100644 --- a/provision/overlays/default.nix +++ b/provision/overlays/default.nix @@ -7,5 +7,5 @@ final: prev: { pySVS = final.callPackage ../pkgs/pySVS.nix {}; ryujinx = final.callPackage ../pkgs/ryujinx/default.nix {}; sudachi = final.qt6.callPackage ../pkgs/sudachi/default.nix {}; - yuzu = final.libsForQt5.callPackage ../pkgs/yuzu.nix {}; + yuzu = final.libsForQt5.callPackage ../pkgs/yuzu/default.nix {}; } diff --git a/provision/pkgs/sudachi/default.nix b/provision/pkgs/sudachi/default.nix index 2bf9f8e9..54efb9e8 100644 --- a/provision/pkgs/sudachi/default.nix +++ b/provision/pkgs/sudachi/default.nix @@ -59,7 +59,10 @@ stdenv.mkDerivation (finalAttrs: { stripRoot = false; }; - patches = [ ./sdl2_fix.patch ]; + patches = [ + ./remove_agx.patch + ./sdl2_fix.patch + ]; nativeBuildInputs = [ cmake @@ -143,13 +146,7 @@ stdenv.mkDerivation (finalAttrs: { # making the build fail, as that path does not exist dontFixCmake = true; - preConfigure = '' - # see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work. - cmakeFlagsArray+=( - "-DTITLE_BAR_FORMAT_IDLE=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) {}" - "-DTITLE_BAR_FORMAT_RUNNING=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) | {}" - ) - + prePatch = '' # Copy suyu externals rm -R externals/ cp -R ${suyu}/externals . @@ -157,6 +154,14 @@ stdenv.mkDerivation (finalAttrs: { # replace "SUYU" with "SUDACHI" in externals cmake args chmod u+rw -R externals/ grep -rl SUYU | xargs sed -i 's/SUYU/SUDACHI/g' + ''; + + preConfigure = '' + # see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work. + cmakeFlagsArray+=( + "-DTITLE_BAR_FORMAT_IDLE=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) {}" + "-DTITLE_BAR_FORMAT_RUNNING=${finalAttrs.pname} | ${finalAttrs.version} (nixpkgs) | {}" + ) # provide pre-downloaded tz data mkdir -p build/externals/nx_tzdb diff --git a/provision/pkgs/sudachi/remove_agx.patch b/provision/pkgs/sudachi/remove_agx.patch new file mode 100644 index 00000000..e6c5f535 --- /dev/null +++ b/provision/pkgs/sudachi/remove_agx.patch @@ -0,0 +1,16 @@ +Submodule externals/Vulkan-Utility-Libraries contains modified content +diff --git a/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h b/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h +index 9d2af46..bb490ac 100644 +--- a/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h ++++ b/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h +@@ -3478,8 +3478,8 @@ static inline const char* string_VkDriverId(VkDriverId input_value) { + return "VK_DRIVER_ID_MESA_NVK"; + case VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA: + return "VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA"; +- case VK_DRIVER_ID_MESA_AGXV: +- return "VK_DRIVER_ID_MESA_AGXV"; ++ //case VK_DRIVER_ID_MESA_AGXV: ++ // return "VK_DRIVER_ID_MESA_AGXV"; + default: + return "Unhandled VkDriverId"; + } diff --git a/provision/pkgs/yuzu.nix b/provision/pkgs/yuzu/default.nix similarity index 90% rename from provision/pkgs/yuzu.nix rename to provision/pkgs/yuzu/default.nix index 4d157a39..41bfdec6 100644 --- a/provision/pkgs/yuzu.nix +++ b/provision/pkgs/yuzu/default.nix @@ -37,6 +37,17 @@ , gnutar , nx_tzdb }: + +let + suyu = fetchFromGitea { + domain = "git.suyu.dev"; + owner = "suyu"; + repo = "suyu"; + rev = "ee365bad9501c73ff49936e72ec91cd9c3ce5c24"; + hash = "sha256-vw9VcSbCaG4MS0PL/fJ73CDALLbd3n0CBT7gkyp5hRc="; + fetchSubmodules = true; + }; +in stdenv.mkDerivation(finalAttrs: { pname = "yuzu"; @@ -51,6 +62,10 @@ stdenv.mkDerivation(finalAttrs: { fetchSubmodules = true; }; + patches = [ + ./sdl2_fix.patch + ]; + nativeBuildInputs = [ cmake glslang @@ -144,6 +159,17 @@ stdenv.mkDerivation(finalAttrs: { "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib" ]; + prePatch = '' + # Copy suyu externals + rm -R externals/ + cp -R ${suyu}/externals . + + # replace "SUYU" with "YUZU" in externals cmake args + chmod u+rw -R externals/ + grep -rl SUYU | xargs sed -i 's/SUYU/YUZU/g' + + ''; + preConfigure = '' # see https://github.com/NixOS/nixpkgs/issues/114044, setting this through cmakeFlags does not work. cmakeFlagsArray+=( diff --git a/provision/pkgs/yuzu/remove_agx.patch b/provision/pkgs/yuzu/remove_agx.patch new file mode 100644 index 00000000..e6c5f535 --- /dev/null +++ b/provision/pkgs/yuzu/remove_agx.patch @@ -0,0 +1,16 @@ +Submodule externals/Vulkan-Utility-Libraries contains modified content +diff --git a/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h b/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h +index 9d2af46..bb490ac 100644 +--- a/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h ++++ b/externals/Vulkan-Utility-Libraries/include/vulkan/vk_enum_string_helper.h +@@ -3478,8 +3478,8 @@ static inline const char* string_VkDriverId(VkDriverId input_value) { + return "VK_DRIVER_ID_MESA_NVK"; + case VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA: + return "VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA"; +- case VK_DRIVER_ID_MESA_AGXV: +- return "VK_DRIVER_ID_MESA_AGXV"; ++ //case VK_DRIVER_ID_MESA_AGXV: ++ // return "VK_DRIVER_ID_MESA_AGXV"; + default: + return "Unhandled VkDriverId"; + }