add themes

This commit is contained in:
sinavir 2024-01-17 13:37:12 +01:00
parent 2aa1156a25
commit 9f8994f4d2
2 changed files with 21 additions and 2 deletions

View file

@ -9,7 +9,7 @@ in
{
retronix = {
systems = {
"Arcade" = {
"arcade" = {
extension = ".sh";
games = with pkgs.roms; mapRetroarchConfig {} [
atetris
@ -24,6 +24,14 @@ in
emulationstation = {
inputCfgFile = mkFile "es_input.cfg" ./es_input.cfg;
settingsCfgFile = mkFile "es_settings.cfg" ./es_settings.cfg;
themes = {
"ComicBook" = pkgs.fetchFromGitHub {
owner = "TMNTturtleguy";
repo = "es-theme-ComicBook";
rev = "master";
hash = "sha256-Mma7/5osIvTdTM8Z0vkJBW/4p3O6wms6nBApxB7+IiA=";
};
};
};
};
}

View file

@ -61,7 +61,7 @@ let
symlinkCommands = builtins.map (
v: "ln -s ${v}/${v.launchPath} $out/${v.name}.sh"
) games;
in pkgs.runCommand "${name}-roms" {
inherit gamelist symlinkCommands;
passAsFile = [
@ -121,6 +121,10 @@ in {
themesDir = lib.mkOption {
type = lib.types.path;
};
themes = lib.mkOption {
type = lib.types.attrsOf lib.types.path;
default = {};
};
inputCfg = lib.mkOption {
type = lib.types.str;
default = "";
@ -157,6 +161,12 @@ in {
</systemList>
'';
inputCfgFile = lib.mkDefault (pkgs.writeTextDir "es_input.cfg" cfg.inputCfg);
themesDir = let
copyCommands = lib.concatLines (lib.mapAttrsToList (k: v: "cp -r ${v} $out/themes/${k}") cfg.themes);
in pkgs.runCommand "es-themes" {} ''
mkdir -p $out/themes
${copyCommands}
'';
homeDir = pkgs.symlinkJoinSubdir {
name = "es-config-dir";
subdir = ".emulationstation";
@ -164,6 +174,7 @@ in {
cfg.systemCfgFile
cfg.inputCfgFile
cfg.settingsCfgFile
cfg.themesDir
] ++ cfg.extraConfigFiles;
};
cli = pkgs.writeScript "emulationstation" "${pkgs.emulationstationPatched}/bin/emulationstation --home ${cfg.homeDir} --gamelist-only";