upd
This commit is contained in:
249
modules/steam-rom-manager/emulators.nix
Normal file
249
modules/steam-rom-manager/emulators.nix
Normal file
@@ -0,0 +1,249 @@
|
||||
# emulators.nix — single source of truth for built-in emulator metadata.
|
||||
#
|
||||
# Both default.nix (for romFolder/fileTypes fallbacks) and options.nix (for
|
||||
# package defaults) import this file directly, preventing the two files from
|
||||
# drifting out of sync.
|
||||
#
|
||||
# Each entry may contain:
|
||||
# package — nixpkgs derivation (required)
|
||||
# romFolder — sub-directory name under romsDirectory (required)
|
||||
# fileTypes — list of file extensions matched by the glob parser (required)
|
||||
# parserType — SRM parser type string; omit to use the default "Glob"
|
||||
|
||||
pkgs: {
|
||||
|
||||
ryujinx = {
|
||||
# ryujinx was removed from nixpkgs; ryubing is the maintained community fork
|
||||
package = pkgs.ryubing;
|
||||
romFolder = "switch";
|
||||
fileTypes = [
|
||||
".nca"
|
||||
".NCA"
|
||||
".nro"
|
||||
".NRO"
|
||||
".nso"
|
||||
".NSO"
|
||||
".nsp"
|
||||
".NSP"
|
||||
".xci"
|
||||
".XCI"
|
||||
];
|
||||
};
|
||||
|
||||
# yuzu was removed from nixpkgs after the Nintendo lawsuit; eden is the successor
|
||||
yuzu = {
|
||||
package = pkgs.eden;
|
||||
romFolder = "switch";
|
||||
fileTypes = [
|
||||
".nsp"
|
||||
".NSP"
|
||||
".xci"
|
||||
".XCI"
|
||||
];
|
||||
};
|
||||
|
||||
pcsx2 = {
|
||||
package = pkgs.pcsx2;
|
||||
romFolder = "ps2";
|
||||
fileTypes = [
|
||||
".iso"
|
||||
".ISO"
|
||||
".bin"
|
||||
".BIN"
|
||||
".chd"
|
||||
".CHD"
|
||||
];
|
||||
};
|
||||
|
||||
rpcs3 = {
|
||||
package = pkgs.rpcs3;
|
||||
romFolder = "ps3";
|
||||
fileTypes = [
|
||||
".iso"
|
||||
".ISO"
|
||||
".bin"
|
||||
".BIN"
|
||||
".pkg"
|
||||
".PKG"
|
||||
];
|
||||
};
|
||||
|
||||
dolphin-emu = {
|
||||
# Use pkgs.dolphin-emu (the user-facing wrapper), not pkgs.dolphinEmu
|
||||
package = pkgs.dolphin-emu;
|
||||
romFolder = "gc";
|
||||
fileTypes = [
|
||||
".iso"
|
||||
".ISO"
|
||||
".gcm"
|
||||
".GCM"
|
||||
".ciso"
|
||||
".CISO"
|
||||
".rvz"
|
||||
".RVZ"
|
||||
".wbfs"
|
||||
".WBFS"
|
||||
];
|
||||
};
|
||||
|
||||
duckstation = {
|
||||
package = pkgs.duckstation;
|
||||
romFolder = "psx";
|
||||
fileTypes = [
|
||||
".iso"
|
||||
".ISO"
|
||||
".bin"
|
||||
".BIN"
|
||||
".chd"
|
||||
".CHD"
|
||||
".pbp"
|
||||
".PBP"
|
||||
];
|
||||
};
|
||||
|
||||
melonDS = {
|
||||
package = pkgs.melonDS;
|
||||
romFolder = "nds";
|
||||
fileTypes = [
|
||||
".nds"
|
||||
".NDS"
|
||||
];
|
||||
};
|
||||
|
||||
cemu = {
|
||||
package = pkgs.cemu;
|
||||
romFolder = "wiiu";
|
||||
fileTypes = [
|
||||
".wud"
|
||||
".WUD"
|
||||
".wux"
|
||||
".WUX"
|
||||
".rpx"
|
||||
".RPX"
|
||||
];
|
||||
};
|
||||
|
||||
ppsspp = {
|
||||
package = pkgs.ppsspp;
|
||||
romFolder = "psp";
|
||||
fileTypes = [
|
||||
".iso"
|
||||
".ISO"
|
||||
".cso"
|
||||
".CSO"
|
||||
".pbp"
|
||||
".PBP"
|
||||
];
|
||||
};
|
||||
|
||||
mame = {
|
||||
package = pkgs.mame;
|
||||
romFolder = "arcade";
|
||||
fileTypes = [
|
||||
".zip"
|
||||
".ZIP"
|
||||
".7z"
|
||||
".7Z"
|
||||
];
|
||||
};
|
||||
|
||||
dosbox = {
|
||||
package = pkgs.dosbox;
|
||||
romFolder = "dos";
|
||||
fileTypes = [
|
||||
".exe"
|
||||
".EXE"
|
||||
".bat"
|
||||
".BAT"
|
||||
".com"
|
||||
".COM"
|
||||
];
|
||||
};
|
||||
|
||||
snes9x = {
|
||||
package = pkgs.snes9x-gtk;
|
||||
romFolder = "snes";
|
||||
fileTypes = [
|
||||
".smc"
|
||||
".SMC"
|
||||
".sfc"
|
||||
".SFC"
|
||||
".fig"
|
||||
".FIG"
|
||||
];
|
||||
};
|
||||
|
||||
mgba = {
|
||||
package = pkgs.mgba;
|
||||
romFolder = "gba";
|
||||
fileTypes = [
|
||||
".gba"
|
||||
".GBA"
|
||||
];
|
||||
};
|
||||
|
||||
mupen64plus = {
|
||||
package = pkgs.mupen64plus;
|
||||
romFolder = "n64";
|
||||
fileTypes = [
|
||||
".n64"
|
||||
".N64"
|
||||
".v64"
|
||||
".V64"
|
||||
".z64"
|
||||
".Z64"
|
||||
];
|
||||
};
|
||||
|
||||
retroarch = {
|
||||
package = pkgs.retroarch;
|
||||
romFolder = "retroarch";
|
||||
fileTypes = [
|
||||
".zip"
|
||||
".ZIP"
|
||||
".7z"
|
||||
".7Z"
|
||||
".iso"
|
||||
".ISO"
|
||||
".bin"
|
||||
".BIN"
|
||||
".chd"
|
||||
".CHD"
|
||||
];
|
||||
};
|
||||
|
||||
flycast = {
|
||||
package = pkgs.flycast;
|
||||
romFolder = "dreamcast";
|
||||
fileTypes = [
|
||||
".gdi"
|
||||
".GDI"
|
||||
".cdi"
|
||||
".CDI"
|
||||
".chd"
|
||||
".CHD"
|
||||
];
|
||||
};
|
||||
|
||||
# citra-nightly was removed from nixpkgs; azahar is the maintained successor
|
||||
citra = {
|
||||
package = pkgs.azahar;
|
||||
romFolder = "3ds";
|
||||
fileTypes = [
|
||||
".3ds"
|
||||
".3DS"
|
||||
".cia"
|
||||
".CIA"
|
||||
".cxi"
|
||||
".CXI"
|
||||
];
|
||||
};
|
||||
|
||||
"Non-SRM Shortcuts" = {
|
||||
package = pkgs.steam;
|
||||
parserType = "Non-SRM Shortcuts";
|
||||
romFolder = "";
|
||||
fileTypes = [ ];
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user