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