feat(emulation): declare RetroArch configuration

This commit was merged in pull request #210.
This commit is contained in:
alexion committed 2026-10-22 13:51:33 -04:00
1 parent 8756bc087f
commit c370d635e5
6 files changed
+73 -5

No files matched your search

@@ -22,7 +22,38 @@ in
};
config = lib.mkIf cfg.enable {
sops.secrets =
lib.genAttrs
[
"retroarch/romm/user"
"retroarch/romm/password"
"retroarch/retroachievements/user"
"retroarch/retroachievements/password"
]
(_: {
sopsFile = ../../../secrets + "/${config.networking.hostName}.yaml";
});
sops.templates.retroarch-credentials = {
owner = user;
mode = "0400";
content = ''
webdav_username = "${config.sops.placeholder."retroarch/romm/user"}"
webdav_password = "${config.sops.placeholder."retroarch/romm/password"}"
cheevos_username = "${config.sops.placeholder."retroarch/retroachievements/user"}"
cheevos_password = "${config.sops.placeholder."retroarch/retroachievements/password"}"
'';
};
home-manager.users.${user} = {
home.file.".config/retroarch/retroarch.cfg" = {
force = true;
text = ''
config_save_on_exit = "false"
#include "${config.sops.templates.retroarch-credentials.path}"
'';
};
home.packages = [
(pkgs.wrapRetroArch {
cores = with pkgs.libretro; [
@@ -45,13 +76,29 @@ in
cloud_sync_sync_system = "false";
cloud_sync_sync_mode = "0";
cloud_sync_destructive = "false";
cheevos_enable = "true";
cheevos_hardcore_mode_enable = "false";
menu_driver = "xmb";
menu_shader_pipeline = "1";
xmb_menu_color_theme = "19";
content_show_add_entry = "0";
content_show_contentless_cores = "0";
content_show_explore = "false";
content_show_favorites = "false";
content_show_history = "false";
content_show_images = "false";
content_show_playlists = "false";
content_show_video = "false";
menu_icon_thumbnails = "3";
menu_thumbnails = "0";
network_on_demand_thumbnails = "true";
netplay_nickname = user;
}
// lib.optionalAttrs (cfg.browserDirectory != "") {
rgui_browser_directory = cfg.browserDirectory;
};
})
];
};
registry.window-icon.${config.networking.hostName}.retroarch = {
+7
View File
@@ -56,6 +56,13 @@ in
default = "roms/{platform}/{game}";
firmware = "bios/{platform}";
};
scan.media = [
"box2d"
"screenshot"
"title_screen"
"logo"
"manual"
];
}
);