mirror of
https://github.com/starr-dusT/dotfiles.git
synced 2025-02-13 08:17:31 -08:00
update flake lock and fix errors, as well as remove yuzu-likes
This commit is contained in:
parent
0f923b74c2
commit
df3a063d17
72
provision/flake.lock
generated
72
provision/flake.lock
generated
@ -8,11 +8,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723293904,
|
||||
"narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=",
|
||||
"lastModified": 1736955230,
|
||||
"narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41",
|
||||
"rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -46,11 +46,11 @@
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -59,24 +59,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -105,11 +87,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732482255,
|
||||
"narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=",
|
||||
"lastModified": 1738448366,
|
||||
"narHash": "sha256-4ATtQqBlgsGqkHTemta0ydY6f7JBRXz4Hf574NHQpkg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "a9953635d7f34e7358d5189751110f87e3ac17da",
|
||||
"rev": "18fa9f323d8adbb0b7b8b98a8488db308210ed93",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -121,11 +103,11 @@
|
||||
"jovian-nixos": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732648910,
|
||||
"narHash": "sha256-1F83DUfEHnCZpGY4UOlWaamWoDx8eZ9tHaUF51p2hng=",
|
||||
"lastModified": 1738443663,
|
||||
"narHash": "sha256-Rx3E+LRYRYvWFhjIE2bMpybL6Ac5NgdSpEOX70NATuE=",
|
||||
"ref": "development",
|
||||
"rev": "e86d2ad72094354326887bd6fe156f327d63d491",
|
||||
"revCount": 1033,
|
||||
"rev": "bdf32c9d74f824250e683003bd44596f0b93c81a",
|
||||
"revCount": 1099,
|
||||
"type": "git",
|
||||
"url": "https://github.com/Jovian-Experiments/Jovian-NixOS"
|
||||
},
|
||||
@ -138,17 +120,16 @@
|
||||
"nixos-wsl": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731682434,
|
||||
"narHash": "sha256-HnZFPB7akVIy0KuPq/tEkiB+Brt1qi0DUIDzR8z25qI=",
|
||||
"lastModified": 1736095716,
|
||||
"narHash": "sha256-csysw/Szu98QDiA2lhWk9seYOyCebeVEWL89zh1cduM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NixOS-WSL",
|
||||
"rev": "a6b9cf0b7805e2c50829020a73e7bde683fd36dd",
|
||||
"rev": "63c3b4ed1712a3a0621002cd59bfdc80875ecbb0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -175,11 +156,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1732521221,
|
||||
"narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=",
|
||||
"lastModified": 1738410390,
|
||||
"narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d",
|
||||
"rev": "3a228057f5b619feb3186e986dbe76278d707b6e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -212,21 +193,6 @@
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
@ -17,7 +17,6 @@ in {
|
||||
vesktop # Voice, video, and text communication platform for communities and friends
|
||||
inkscape # Vector graphics editor for creating illustrations, icons, logos, diagrams, and more
|
||||
libreoffice-fresh # Office suite compatible with Microsoft Office
|
||||
xournal # Note-taking and sketching application
|
||||
mpv # Media player for playing audio and video files
|
||||
p7zip # Command-line file archiver with high compression ratio
|
||||
gimp # GNU Image Manipulation Program for editing and composing raster images
|
||||
|
@ -25,7 +25,6 @@ in {
|
||||
evolution # Personal information management application that provides email, calendar, and contact management features
|
||||
gnomeExtensions.custom-hot-corners-extended # GNOME Shell extension for changing window focus behavior
|
||||
gnomeExtensions.alphabetical-app-grid # Alphabetically order the app grid and folders
|
||||
gnome-fullscreen-to-empty-workspace # New, maximized and fullscreen windows will be moved to empty workspaces
|
||||
gnome-set-panel-monitor # Set monitor for panel to appear on
|
||||
stacks-in-gnome # TBD
|
||||
gnome-randr # Xrandr-like CLI for configuring displays on GNOME/Wayland
|
||||
@ -63,7 +62,7 @@ in {
|
||||
};
|
||||
|
||||
# Enable sound and handle conflict (https://github.com/Jovian-Experiments/Jovian-NixOS/issues/99)
|
||||
hardware.pulseaudio.enable = lib.mkForce false;
|
||||
services.pulseaudio.enable = lib.mkForce false;
|
||||
|
||||
xdg.mime = {
|
||||
enable = true;
|
||||
@ -124,7 +123,6 @@ in {
|
||||
disable-user-extensions = false;
|
||||
enabled-extensions = [
|
||||
"focus-changer@heartmire"
|
||||
"fullscreen-to-empty-workspace@aiono.dev"
|
||||
"gnome-set-panel-monitor@tstarr.us"
|
||||
"custom-hot-corners-extended@G-dH.github.com"
|
||||
"AlphabeticalAppGrid@stuarthayhurst"
|
||||
|
@ -1,26 +1,23 @@
|
||||
{ config, lib, pkgs, user, ... }:
|
||||
|
||||
let cfg = config.modules.gaming.emulation;
|
||||
retroarchWithCores = (pkgs.retroarch.withCores (cores: with cores; [
|
||||
nestopia # Nintendo Entertainment System (NES) emulator
|
||||
snes9x # Super Nintendo Entertainment System (SNES) emulator
|
||||
mgba # Game Boy Advance emulator
|
||||
melonds # Nintendo DS emulator
|
||||
citra # Fuck Nintendo a third time
|
||||
]));
|
||||
in {
|
||||
options.modules.gaming.emulation.enable = lib.mkEnableOption "emulation";
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
ryujinx # Fuck Nintendo
|
||||
yuzu # Fuck Nintendo again
|
||||
sudachi # Nintendo Switch emulator written in C++
|
||||
dolphin-emu # GameCube and Wii emulator
|
||||
ppsspp # PSP emulator
|
||||
mgba # Game Boy Advance emulator
|
||||
rpcs3 # PS3 emulator/debugger
|
||||
(retroarch.override {
|
||||
cores = with libretro; [
|
||||
nestopia # Nintendo Entertainment System (NES) emulator
|
||||
snes9x # Super Nintendo Entertainment System (SNES) emulator
|
||||
mgba # Game Boy Advance emulator
|
||||
melonds # Nintendo DS emulator
|
||||
citra # Fuck Nintendo a third time
|
||||
];
|
||||
})
|
||||
retroarchWithCores # frontend for emulators and specific cores
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ in {
|
||||
];
|
||||
|
||||
hardware.graphics.enable = true; # https://github.com/NixOS/nixpkgs/issues/47932
|
||||
hardware.pulseaudio.support32Bit = config.hardware.pulseaudio.enable;
|
||||
services.pulseaudio.support32Bit = config.hardware.pulseaudio.enable;
|
||||
hardware.steam-hardware.enable = true;
|
||||
|
||||
programs.steam = {
|
||||
|
@ -6,7 +6,7 @@ in {
|
||||
config = lib.mkIf cfg.enable {
|
||||
home-manager.users.${user} = {
|
||||
home.packages = with pkgs; [
|
||||
nerdfonts
|
||||
nerd-fonts.jetbrains-mono
|
||||
];
|
||||
|
||||
programs.kitty = {
|
||||
|
@ -1,12 +1,8 @@
|
||||
final: prev: {
|
||||
advcpmv = final.callPackage ../pkgs/advcpmv.nix {};
|
||||
ftw = final.callPackage ../pkgs/ftw.nix {};
|
||||
gnome-fullscreen-to-empty-workspace = final.callPackage ../pkgs/gnome-fullscreen-to-empty-workspace/default.nix {};
|
||||
gnome-set-panel-monitor = final.callPackage ../pkgs/gnome-set-panel-monitor.nix {};
|
||||
stacks-in-gnome = final.callPackage ../pkgs/stacks-in-gnome.nix {};
|
||||
nx_tzdb = final.callPackage ../pkgs/nx_tzdb.nix {};
|
||||
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/default.nix {};
|
||||
}
|
||||
|
@ -1,35 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub, glib }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "gnome-fullscreen-to-new-workspace";
|
||||
version = "git-2023-08-19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "onsah";
|
||||
repo = "fullscreen-to-new-workspace";
|
||||
rev = "26014b6f8d569891381ab2ebc75c74a51d2454df";
|
||||
hash = "sha256-S9mvODQqOBCmA+L1TBJm/c1v5Y+qVKuFpQf799LEwcI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./version.patch
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out/share/gnome-shell/extensions/fullscreen-to-empty-workspace@aiono.dev"
|
||||
cp -r src/* "$out/share/gnome-shell/extensions/fullscreen-to-empty-workspace@aiono.dev"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
extensionUuid = "fullscreen-to-empty-workspace@aiono.dev";
|
||||
extensionPortalSlug = "fullscreen-to-empty-workspace";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "New, maximized and fullscreen windows will be moved to empty workspaces.";
|
||||
maintainers = with maintainers; [ onsah starr-dusT ];
|
||||
homepage = "https://github.com/onsah/fullscreen-to-new-workspace";
|
||||
};
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
diff --git a/src/metadata.json b/src/metadata.json
|
||||
index 66a2ea3..a98e00c 100644
|
||||
--- a/src/metadata.json
|
||||
+++ b/src/metadata.json
|
||||
@@ -4,8 +4,9 @@
|
||||
"url": "https://github.com/onsah/fullscreen-to-new-workspace",
|
||||
"uuid": "fullscreen-to-empty-workspace@aiono.dev",
|
||||
"shell-version": [
|
||||
- "46"
|
||||
+ "47"
|
||||
],
|
||||
"version": 15,
|
||||
"settings-schema": "org.gnome.shell.extensions.fullscreen-to-empty-workspace"
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
+
|
@ -1,20 +0,0 @@
|
||||
{ stdenv, fetchurl, unzip, gitUpdater }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nx_tzdb";
|
||||
version = "221202";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://git.tstarr.us/tstarr/tzdb_to_nx/releases/download/221202/221202.zip";
|
||||
hash = "sha256-mRzW+iIwrU1zsxHmf+0RArU8BShAoEMvCz+McXFFK3c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
buildCommand = ''
|
||||
unzip $src -d $out
|
||||
'';
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
url = "https://git.tstarr.us/tstarr/tzdb_to_nx";
|
||||
};
|
||||
}
|
@ -1,205 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchzip,
|
||||
fetchFromGitea,
|
||||
cmake,
|
||||
glslang,
|
||||
pkg-config,
|
||||
qttools,
|
||||
wrapQtAppsHook,
|
||||
boost,
|
||||
fmt,
|
||||
lz4,
|
||||
nlohmann_json,
|
||||
qtbase,
|
||||
qtmultimedia,
|
||||
qtwayland,
|
||||
qtwebengine,
|
||||
zlib,
|
||||
zstd,
|
||||
rapidjson,
|
||||
libva,
|
||||
libvdpau,
|
||||
nv-codec-headers-12,
|
||||
yasm,
|
||||
autoconf,
|
||||
automake,
|
||||
libtool,
|
||||
spirv-headers,
|
||||
catch2_3,
|
||||
vulkan-loader,
|
||||
vulkan-headers,
|
||||
SDL2,
|
||||
}:
|
||||
|
||||
let
|
||||
# Derived from externals/nx_tzdb/CMakeLists.txt
|
||||
nx_tzdb = fetchzip {
|
||||
url = "https://github.com/lat9nq/tzdb_to_nx/releases/download/221202/221202.zip";
|
||||
hash = "sha256-YOIElcKTiclem05trZsA3YJReozu/ex7jJAKD6nAMwc=";
|
||||
stripRoot = false;
|
||||
};
|
||||
suyu = fetchFromGitea {
|
||||
domain = "git.suyu.dev";
|
||||
owner = "suyu";
|
||||
repo = "suyu";
|
||||
rev = "ee365bad9501c73ff49936e72ec91cd9c3ce5c24";
|
||||
hash = "sha256-vw9VcSbCaG4MS0PL/fJ73CDALLbd3n0CBT7gkyp5hRc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sudachi";
|
||||
version = "1.0.11";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/emuplace/sudachi.emuplace.app/releases/download/v1.0.11/latest.zip";
|
||||
hash = "sha256-HNNND8g9JyvrMjQxHq4udUtskGkqaISpq0TnzE2rb/U=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
patches = [
|
||||
./remove_agx.patch
|
||||
./sdl2_fix.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
glslang
|
||||
pkg-config
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
vulkan-headers
|
||||
boost
|
||||
fmt
|
||||
lz4
|
||||
SDL2
|
||||
nlohmann_json
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtwayland
|
||||
qtwebengine
|
||||
zlib
|
||||
zstd
|
||||
|
||||
# vendored discord-rpc deps
|
||||
rapidjson
|
||||
|
||||
# vendored ffmpeg deps
|
||||
libva # for accelerated video decode on non-nvidia
|
||||
libvdpau # for accelerated video decode on non-nvidia
|
||||
nv-codec-headers-12 # for accelerated video decode on nvidia
|
||||
yasm
|
||||
|
||||
# vendored libusb deps
|
||||
autoconf
|
||||
automake
|
||||
libtool
|
||||
|
||||
# vendored sirit deps
|
||||
spirv-headers
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
# actually has a noticeable performance impact
|
||||
"-DSUDACHI_ENABLE_LTO=ON"
|
||||
|
||||
# build with qt6
|
||||
"-DENABLE_QT6=ON"
|
||||
|
||||
# enable some optional features
|
||||
"-DSUDACHI_USE_QT_WEB_ENGINE=ON"
|
||||
"-DSUDACHI_USE_QT_MULTIMEDIA=ON"
|
||||
"-DUSE_DISCORD_PRESENCE=ON"
|
||||
|
||||
# compatibility list currently 404's
|
||||
"-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF"
|
||||
|
||||
# don't check for missing submodules
|
||||
"-DSUDACHI_CHECK_SUBMODULES=OFF"
|
||||
|
||||
# use system libraries
|
||||
# NB: "external" here means "from the externals/ directory in the source",
|
||||
# so "off" means "use system"
|
||||
"-DSUDACHI_USE_EXTERNAL_VULKAN_HEADERS=OFF"
|
||||
|
||||
# Disable SDL2
|
||||
# SDL flags are broken somehow in 1.0.11 and fix is hacked in with a patch
|
||||
|
||||
# don't use system ffmpeg, sudachi uses internal APIs
|
||||
"-DSUDACHI_USE_BUNDLED_FFMPEG=ON"
|
||||
"-DFFmpeg_COMPONENTS='swscale;avutil;avfilter;avcodec'"
|
||||
"-DFFmpeg_PREFIX=$src/externals/ffmpeg/ffmpeg"
|
||||
|
||||
# use system spriv headers for sirit
|
||||
"-DSIRIT_USE_SYSTEM_SPIRV_HEADERS=ON"
|
||||
];
|
||||
|
||||
# Does some handrolled SIMD
|
||||
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isx86_64 "-msse4.1";
|
||||
|
||||
# This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
|
||||
# making the build fail, as that path does not exist
|
||||
dontFixCmake = true;
|
||||
|
||||
prePatch = ''
|
||||
# Copy suyu externals
|
||||
rm -R externals/
|
||||
cp -R ${suyu}/externals .
|
||||
|
||||
# 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
|
||||
ln -s ${nx_tzdb} build/externals/nx_tzdb/nx_tzdb
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ catch2_3 ];
|
||||
|
||||
# Fixes vulkan detection.
|
||||
# FIXME: patchelf --add-rpath corrupts the binary for some reason, investigate
|
||||
qtWrapperArgs = [ "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib" ];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm444 "$src/dist/72-sudachi-input.rules" "$out/lib/udev/rules.d/72-sudachi-input.rules"
|
||||
mkdir -p "$out/share/sudachi"
|
||||
cp -R "$src" "$out/share/sudachi/src"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Nintendo Switch emulator written in C++";
|
||||
homepage = "https://sudachiemu.com/";
|
||||
changelog = "https://sudachi.emuplace.app/";
|
||||
mainProgram = "sudachi";
|
||||
platforms = [
|
||||
"aarch64-linux"
|
||||
"x86_64-linux"
|
||||
];
|
||||
|
||||
license = with licenses; [
|
||||
gpl3Plus
|
||||
|
||||
# Icons
|
||||
asl20
|
||||
mit
|
||||
cc0
|
||||
];
|
||||
|
||||
maintainers = with maintainers; [ starr-dusT ];
|
||||
};
|
||||
})
|
@ -1,16 +0,0 @@
|
||||
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";
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index ed30417..7c1da0b 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -535,34 +535,10 @@ if(ENABLE_QT)
|
||||
|
||||
endif()
|
||||
|
||||
-# find SDL2 exports a bunch of variables that are needed, so its easier to do this outside of the sudachi_find_package
|
||||
-if (ENABLE_SDL2 AND NOT USE_SDL2_FROM_EXTERNALS)
|
||||
- if (SUDACHI_USE_BUNDLED_SDL2)
|
||||
- # Detect toolchain and platform
|
||||
- if ((MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1940) AND ARCHITECTURE_x86_64)
|
||||
- set(SDL2_VER "SDL2-2.28.2")
|
||||
- else()
|
||||
- message(FATAL_ERROR "No bundled SDL2 binaries for your toolchain. Disable SUDACHI_USE_BUNDLED_SDL2 and provide your own.")
|
||||
- endif()
|
||||
-
|
||||
- if (DEFINED SDL2_VER)
|
||||
- download_bundled_external("sdl2/" ${SDL2_VER} SDL2_PREFIX)
|
||||
- endif()
|
||||
-
|
||||
- set(SDL2_FOUND YES)
|
||||
- set(SDL2_INCLUDE_DIR "${SDL2_PREFIX}/include" CACHE PATH "Path to SDL2 headers")
|
||||
- set(SDL2_LIBRARY "${SDL2_PREFIX}/lib/x64/SDL2.lib" CACHE PATH "Path to SDL2 library")
|
||||
- set(SDL2_DLL_DIR "${SDL2_PREFIX}/lib/x64/" CACHE PATH "Path to SDL2.dll")
|
||||
-
|
||||
- add_library(SDL2::SDL2 INTERFACE IMPORTED)
|
||||
- target_link_libraries(SDL2::SDL2 INTERFACE "${SDL2_LIBRARY}")
|
||||
- target_include_directories(SDL2::SDL2 INTERFACE "${SDL2_INCLUDE_DIR}")
|
||||
- elseif (USE_SDL2_FROM_EXTERNALS)
|
||||
- message(STATUS "Using SDL2 from externals.")
|
||||
- else()
|
||||
- find_package(SDL2 2.26.4 REQUIRED)
|
||||
- endif()
|
||||
-endif()
|
||||
+# Nixos needs to use packaged SDL2. There is something up with these flags that
|
||||
+# doesn't currently work properly so here is a quick hack. I'd investigate and
|
||||
+# report to the dev, but you all are dicks who drove him out. Fuck you all.
|
||||
+find_package(SDL2 2.26.4 REQUIRED)
|
||||
|
||||
if (UNIX AND NOT APPLE AND NOT ANDROID)
|
||||
find_package(PkgConfig REQUIRED)
|
@ -1,217 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitea
|
||||
, nix-update-script
|
||||
, wrapQtAppsHook
|
||||
, autoconf
|
||||
, boost
|
||||
, catch2_3
|
||||
, cmake
|
||||
, cpp-jwt
|
||||
, cubeb
|
||||
, discord-rpc
|
||||
, enet
|
||||
, fmt
|
||||
, glslang
|
||||
, libopus
|
||||
, libusb1
|
||||
, libva
|
||||
, lz4
|
||||
, nlohmann_json
|
||||
, nv-codec-headers-12
|
||||
, pkg-config
|
||||
, qtbase
|
||||
, qtmultimedia
|
||||
, qttools
|
||||
, qtwayland
|
||||
, qtwebengine
|
||||
, SDL2
|
||||
, vulkan-headers
|
||||
, vulkan-loader
|
||||
, yasm
|
||||
, zlib
|
||||
, zstd
|
||||
, fetchzip
|
||||
, fetchgit
|
||||
, runCommand
|
||||
, 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";
|
||||
version = "4176";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "git.tstarr.us";
|
||||
owner = "tstarr";
|
||||
repo = "yuzu-mainline";
|
||||
rev = "d3a974b64679229e77a3af921994dab82d092249";
|
||||
hash = "sha256-sn/CfaZkS3noDH9lmEtIES6Xc7aoZ5tbHo1AJc5nxac=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
patches = [
|
||||
./remove_agx.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
glslang
|
||||
pkg-config
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
# vulkan-headers must come first, so the older propagated versions
|
||||
# don't get picked up by accident
|
||||
vulkan-headers
|
||||
|
||||
boost
|
||||
catch2_3
|
||||
cpp-jwt
|
||||
cubeb
|
||||
discord-rpc
|
||||
# intentionally omitted: dynarmic - prefer vendored version for compatibility
|
||||
enet
|
||||
|
||||
# vendored ffmpeg deps
|
||||
autoconf
|
||||
yasm
|
||||
libva # for accelerated video decode on non-nvidia
|
||||
nv-codec-headers-12 # for accelerated video decode on nvidia
|
||||
# end vendored ffmpeg deps
|
||||
|
||||
fmt
|
||||
# intentionally omitted: gamemode - loaded dynamically at runtime
|
||||
# intentionally omitted: httplib - upstream requires an older version than what we have
|
||||
libopus
|
||||
libusb1
|
||||
# intentionally omitted: LLVM - heavy, only used for stack traces in the debugger
|
||||
lz4
|
||||
nlohmann_json
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qtwayland
|
||||
qtwebengine
|
||||
# intentionally omitted: renderdoc - heavy, developer only
|
||||
SDL2
|
||||
# not packaged in nixpkgs: simpleini
|
||||
# intentionally omitted: stb - header only libraries, vendor uses git snapshot
|
||||
# not packaged in nixpkgs: vulkan-memory-allocator
|
||||
# intentionally omitted: xbyak - prefer vendored version for compatibility
|
||||
zlib
|
||||
zstd
|
||||
];
|
||||
|
||||
# This changes `ir/opt` to `ir/var/empty` in `externals/dynarmic/src/dynarmic/CMakeLists.txt`
|
||||
# making the build fail, as that path does not exist
|
||||
dontFixCmake = true;
|
||||
|
||||
cmakeFlags = [
|
||||
# actually has a noticeable performance impact
|
||||
"-DYUZU_ENABLE_LTO=ON"
|
||||
|
||||
# build with qt6
|
||||
"-DENABLE_QT6=ON"
|
||||
"-DENABLE_QT_TRANSLATION=ON"
|
||||
|
||||
# use system libraries
|
||||
# NB: "external" here means "from the externals/ directory in the source",
|
||||
# so "off" means "use system"
|
||||
"-DYUZU_USE_EXTERNAL_SDL2=OFF"
|
||||
"-DYUZU_USE_EXTERNAL_VULKAN_HEADERS=OFF"
|
||||
|
||||
# don't use system ffmpeg, yuzu uses internal APIs
|
||||
"-DYUZU_USE_BUNDLED_FFMPEG=ON"
|
||||
|
||||
# don't check for missing submodules
|
||||
"-DYUZU_CHECK_SUBMODULES=OFF"
|
||||
|
||||
# enable some optional features
|
||||
"-DYUZU_USE_QT_WEB_ENGINE=ON"
|
||||
"-DYUZU_USE_QT_MULTIMEDIA=ON"
|
||||
"-DUSE_DISCORD_PRESENCE=ON"
|
||||
|
||||
# We dont want to bother upstream with potentially outdated compat reports
|
||||
"-DYUZU_ENABLE_COMPATIBILITY_REPORTING=OFF"
|
||||
"-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF" # We provide this deterministically
|
||||
];
|
||||
|
||||
# Does some handrolled SIMD
|
||||
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isx86_64 "-msse4.1";
|
||||
|
||||
# Fixes vulkan detection.
|
||||
# FIXME: patchelf --add-rpath corrupts the binary for some reason, investigate
|
||||
qtWrapperArgs = [
|
||||
"--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+=(
|
||||
"-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
|
||||
ln -s ${nx_tzdb} build/externals/nx_tzdb/nx_tzdb
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
install -Dm444 $src/dist/72-yuzu-input.rules $out/lib/udev/rules.d/72-yuzu-input.rules
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [ "--version-regex" "mainline-0-(.*)" ];
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://yuzu-emu.org";
|
||||
changelog = "https://yuzu-emu.org/entry";
|
||||
description = "An experimental Nintendo Switch emulator written in C++";
|
||||
longDescription = ''
|
||||
An experimental Nintendo Switch emulator written in C++.
|
||||
Using the mainline branch is recommended for general usage.
|
||||
Using the early-access branch is recommended if you would like to try out experimental features, with a cost of stability.
|
||||
'';
|
||||
mainProgram = "yuzu";
|
||||
platforms = [ "aarch64-linux" "x86_64-linux" ];
|
||||
license = with licenses; [
|
||||
gpl3Plus
|
||||
# Icons
|
||||
asl20 mit cc0
|
||||
];
|
||||
maintainers = with maintainers; [
|
||||
ashley
|
||||
ivar
|
||||
joshuafern
|
||||
sbruder
|
||||
k900
|
||||
];
|
||||
};
|
||||
})
|
@ -1,16 +0,0 @@
|
||||
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";
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user