enable non srm games
This commit is contained in:
@@ -114,6 +114,12 @@ let
|
||||
fileTypes = [ ".3ds" ".3DS" ".cia" ".CIA" ".cxi" ".CXI" ];
|
||||
package = pkgs.citra-nightly;
|
||||
};
|
||||
"Non-SRM Shortcuts" = {
|
||||
parserType = "Non-SRM Shortcuts";
|
||||
romFolder = "";
|
||||
fileTypes = [ ];
|
||||
package = pkgs.steam;
|
||||
};
|
||||
};
|
||||
|
||||
# Create parser configuration
|
||||
@@ -126,32 +132,32 @@ let
|
||||
|
||||
orderedConfig = [
|
||||
# Basic parser configuration
|
||||
{ name = "parserType"; value = "Glob"; }
|
||||
{ name = "configTitle"; value = name; }
|
||||
{ name = "parserType"; value = emu.parserType; }
|
||||
{ name = "configTitle"; value = emu.configTitle; }
|
||||
{ name = "steamDirectory"; value = "\${steamdirglobal}"; }
|
||||
{ name = "romDirectory"; value = "${cfg.environmentVariables.romsDirectory}/${if emu.romFolder != "" then emu.romFolder else commonEmulatorConfigs.${name}.romFolder}"; }
|
||||
{ name = "steamCategories"; value = [""]; }
|
||||
{ name = "steamCategories"; value = emu.steamCategories; }
|
||||
|
||||
# Executable configuration
|
||||
{ name = "executableArgs"; value = emu.extraArgs; }
|
||||
{ name = "executableModifier"; value = "\"\${exePath}\""; }
|
||||
{ name = "executableModifier"; value = emu.executableModifier; }
|
||||
{ name = "startInDirectory"; value = "${cfg.environmentVariables.romsDirectory}/${if emu.romFolder != "" then emu.romFolder else commonEmulatorConfigs.${name}.romFolder}"; }
|
||||
{ name = "titleModifier"; value = "\${fuzzyTitle}"; }
|
||||
{ name = "titleModifier"; value = emu.titleModifier; }
|
||||
|
||||
# Controller settings
|
||||
{ name = "fetchControllerTemplatesButton"; value = null; }
|
||||
{ name = "removeControllersButton"; value = null; }
|
||||
{ name = "steamInputEnabled"; value = "1"; }
|
||||
{ name = "steamInputEnabled"; value = if emu.steamInputEnabled then "1" else "0"; }
|
||||
|
||||
# Image provider configuration
|
||||
{ name = "imageProviders"; value = cfg.enabledProviders; }
|
||||
{ name = "onlineImageQueries"; value = [ "\${fuzzyTitle}" ]; }
|
||||
{ name = "imagePool"; value = "\${fuzzyTitle}"; }
|
||||
{ name = "onlineImageQueries"; value = emu.onlineImageQueries; }
|
||||
{ name = "imagePool"; value = emu.imagePool; }
|
||||
|
||||
# DRM and user account settings
|
||||
{ name = "drmProtect"; value = false; }
|
||||
{ name = "drmProtect"; value = emu.drmProtected; }
|
||||
{ name = "userAccounts"; value = {
|
||||
specifiedAccounts = [ "Global" ];
|
||||
specifiedAccounts = emu.userAccounts;
|
||||
}; }
|
||||
|
||||
# Parser-specific settings
|
||||
@@ -162,8 +168,8 @@ let
|
||||
# Executable details
|
||||
{ name = "executable"; value = {
|
||||
path = "${package}/bin/${binaryName}";
|
||||
shortcutPassthrough = false;
|
||||
appendArgsToExecutable = true;
|
||||
shortcutPassthrough = emu.shortcutPassthrough;
|
||||
appendArgsToExecutable = emu.appendArgsToExecutable;
|
||||
}; }
|
||||
|
||||
# Title and fuzzy matching configuration
|
||||
|
||||
@@ -262,24 +262,95 @@ in {
|
||||
else if name == "mupen64plus" then pkgs.mupen64plus
|
||||
else if name == "retroarch" then pkgs.retroarch
|
||||
else if name == "flycast" then pkgs.flycast
|
||||
else if name == "Non-SRM Shortcuts" then pkgs.steam
|
||||
else pkgs.${name};
|
||||
description = "Emulator package";
|
||||
};
|
||||
parserType = mkOption {
|
||||
type = types.str;
|
||||
default = "Glob";
|
||||
description = "Parser type";
|
||||
};
|
||||
configTitle = mkOption {
|
||||
type = types.str;
|
||||
default = name;
|
||||
description = "Configuration title";
|
||||
};
|
||||
romFolder = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = "Name of the ROM folder (defaults to common configuration)";
|
||||
};
|
||||
fileTypes = mkOption {
|
||||
steamCategories = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
description = "List of ROM file types (defaults to common configuration)";
|
||||
default = [""];
|
||||
description = "List of Steam categories";
|
||||
};
|
||||
extraArgs = mkOption {
|
||||
type = types.str;
|
||||
default = "--fullscreen \"\${filePath}\"";
|
||||
description = "Additional emulator arguments";
|
||||
};
|
||||
executableModifier = mkOption {
|
||||
type = types.str;
|
||||
default = "\"\${exePath}\"";
|
||||
description = "Executable modifier";
|
||||
};
|
||||
titleModifier = mkOption {
|
||||
type = types.str;
|
||||
default = "\${fuzzyTitle}";
|
||||
description = "Title modifier";
|
||||
};
|
||||
# fetchControllerTemplatesButton = mkOption {
|
||||
# type = types.str;
|
||||
# default = null;
|
||||
# description = "Fetch controller templates button";
|
||||
# };
|
||||
# removeControllersButton = mkOption {
|
||||
# type = types.str;
|
||||
# default = null;
|
||||
# description = "Remove controller templates button";
|
||||
# };
|
||||
steamInputEnabled = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enable Steam input";
|
||||
};
|
||||
onlineImageQueries = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ "\${fuzzyTitle}" ];
|
||||
description = "List of online image queries";
|
||||
};
|
||||
imagePool = mkOption {
|
||||
type = types.str;
|
||||
default = "\${fuzzyTitle}";
|
||||
description = "image pool";
|
||||
};
|
||||
drmProtected = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "DRM protected";
|
||||
};
|
||||
userAccounts = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ "Global" ];
|
||||
description = "List of user accounts";
|
||||
};
|
||||
fileTypes = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
description = "List of ROM file types (defaults to common configuration)";
|
||||
};
|
||||
shortcutPassthrough = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Enable shortcut passthrough";
|
||||
};
|
||||
appendArgsToExecutable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Append arguments to executable";
|
||||
};
|
||||
};
|
||||
}));
|
||||
default = {};
|
||||
|
||||
Reference in New Issue
Block a user