Compare commits
3 Commits
main
...
2ca3a5a912
| Author | SHA1 | Date | |
|---|---|---|---|
| 2ca3a5a912 | |||
| 849491e332 | |||
| 1c1420b8c0 |
@@ -104,7 +104,6 @@
|
|||||||
domain = "games.alexion.dev";
|
domain = "games.alexion.dev";
|
||||||
protocol = "https";
|
protocol = "https";
|
||||||
port = 80;
|
port = 80;
|
||||||
clientMaxBodySize = "0";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
modules.desktop.enable = true;
|
modules.desktop.enable = true;
|
||||||
modules.desktop.apps.obsidian.enable = true;
|
modules.desktop.apps.obsidian.enable = true;
|
||||||
modules.desktop.apps.r2modman.enable = true;
|
modules.desktop.apps.r2modman.enable = true;
|
||||||
modules.desktop.emulation.enable = true;
|
|
||||||
modules.desktop.apps.signal.enable = true;
|
modules.desktop.apps.signal.enable = true;
|
||||||
modules.desktop.apps.steam.enable = true;
|
modules.desktop.apps.steam.enable = true;
|
||||||
modules.desktop.apps.vencord.enable = true;
|
modules.desktop.apps.vencord.enable = true;
|
||||||
|
|||||||
@@ -1,36 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
# Shared directories for emulators.
|
|
||||||
let
|
|
||||||
user = config.user.name;
|
|
||||||
directory = "/home/${user}/emulation";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.modules.desktop.emulation.enable = lib.mkEnableOption "shared emulation directories";
|
|
||||||
|
|
||||||
config = lib.mkIf config.modules.desktop.emulation.enable {
|
|
||||||
modules.desktop.emulation.retroarch = {
|
|
||||||
enable = lib.mkDefault true;
|
|
||||||
browserDirectory = "${directory}/roms";
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.users.${user} = hm: {
|
|
||||||
home.file = {
|
|
||||||
".config/retroarch/saves".source = hm.config.lib.file.mkOutOfStoreSymlink "${directory}/saves";
|
|
||||||
".config/retroarch/states".source = hm.config.lib.file.mkOutOfStoreSymlink "${directory}/states";
|
|
||||||
".config/retroarch/system".source = hm.config.lib.file.mkOutOfStoreSymlink "${directory}/bios";
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.tmpfiles.rules = map (path: "d ${path} 0700 - - -") [
|
|
||||||
directory
|
|
||||||
"${directory}/bios"
|
|
||||||
"${directory}/roms"
|
|
||||||
"${directory}/saves"
|
|
||||||
"${directory}/states"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
util,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
# RetroArch with the selected PlayStation and Sega Saturn cores.
|
|
||||||
let
|
|
||||||
cfg = config.modules.desktop.emulation.retroarch;
|
|
||||||
user = config.user.name;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.modules.desktop.emulation.retroarch = {
|
|
||||||
enable = lib.mkEnableOption "RetroArch with PlayStation and Sega Saturn cores";
|
|
||||||
|
|
||||||
browserDirectory = lib.mkOption {
|
|
||||||
type = lib.types.str;
|
|
||||||
default = "";
|
|
||||||
description = "Directory where RetroArch starts its content browser.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
home-manager.users.${user} = {
|
|
||||||
home.packages = [
|
|
||||||
(pkgs.wrapRetroArch {
|
|
||||||
cores = with pkgs.libretro; [
|
|
||||||
beetle-psx-hw
|
|
||||||
beetle-saturn
|
|
||||||
];
|
|
||||||
settings = {
|
|
||||||
savefiles_in_content_dir = "false";
|
|
||||||
savestates_in_content_dir = "false";
|
|
||||||
system_directory = "/home/${user}/.config/retroarch/system";
|
|
||||||
video_fullscreen = "true";
|
|
||||||
sort_savefiles_enable = "true";
|
|
||||||
sort_savestates_enable = "true";
|
|
||||||
cloud_sync_enable = "true";
|
|
||||||
cloud_sync_driver = "webdav";
|
|
||||||
webdav_url = "https://games.alexion.dev/api/sync/retroarch/";
|
|
||||||
cloud_sync_sync_saves = "true";
|
|
||||||
cloud_sync_sync_configs = "true";
|
|
||||||
cloud_sync_sync_thumbs = "false";
|
|
||||||
cloud_sync_sync_system = "false";
|
|
||||||
cloud_sync_sync_mode = "0";
|
|
||||||
cloud_sync_destructive = "false";
|
|
||||||
}
|
|
||||||
// lib.optionalAttrs (cfg.browserDirectory != "") {
|
|
||||||
rgui_browser_directory = cfg.browserDirectory;
|
|
||||||
};
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
registry.window-icon.${config.networking.hostName}.retroarch = {
|
|
||||||
class = "com.libretro.RetroArch";
|
|
||||||
icon = util.glyph "f11b";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -71,10 +71,7 @@ let
|
|||||||
extraConfig = lib.optionalString (route.clientMaxBodySize != null) ''
|
extraConfig = lib.optionalString (route.clientMaxBodySize != null) ''
|
||||||
client_max_body_size ${route.clientMaxBodySize};
|
client_max_body_size ${route.clientMaxBodySize};
|
||||||
'';
|
'';
|
||||||
locations."/" = {
|
locations."/".proxyPass = mkBackend address port;
|
||||||
proxyPass = mkBackend address port;
|
|
||||||
proxyWebsockets = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -37,17 +37,10 @@ in
|
|||||||
database.createLocally = true;
|
database.createLocally = true;
|
||||||
redis.createLocally = true;
|
redis.createLocally = true;
|
||||||
watcher.enable = true;
|
watcher.enable = true;
|
||||||
extraEnvironment = {
|
extraEnvironment.ROM_CONVERTO_ENABLED = "false";
|
||||||
HASHEOUS_API_ENABLED = "true";
|
|
||||||
PLAYMATCH_API_ENABLED = "true";
|
|
||||||
ROM_CONVERTO_ENABLED = "false";
|
|
||||||
};
|
|
||||||
inherit (cfg) environmentFile;
|
inherit (cfg) environmentFile;
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.romm-worker.serviceConfig.ExecStart =
|
|
||||||
lib.mkForce "${lib.getExe' config.services.romm.package "romm-worker"} scans";
|
|
||||||
|
|
||||||
systemd.tmpfiles.settings."10-romm"."${config.services.romm.dataDir}/config/config.yml"."L+".argument =
|
systemd.tmpfiles.settings."10-romm"."${config.services.romm.dataDir}/config/config.yml"."L+".argument =
|
||||||
toString (
|
toString (
|
||||||
(pkgs.formats.yaml { }).generate "romm-config.yml" {
|
(pkgs.formats.yaml { }).generate "romm-config.yml" {
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ aliases:
|
|||||||
- "0015"
|
- "0015"
|
||||||
- RomM 5.4 Package
|
- RomM 5.4 Package
|
||||||
date-created: 2026-10-19 19:40
|
date-created: 2026-10-19 19:40
|
||||||
date-modified: 2026-10-21 00:01
|
date-modified: 2026-10-19 19:40
|
||||||
status: closed
|
status: open
|
||||||
area: "[[homelab]]"
|
area: "[[homelab]]"
|
||||||
blocked-by:
|
blocked-by:
|
||||||
- "[[0014-romm-guest]]"
|
- "[[0014-romm-guest]]"
|
||||||
|
|||||||
Reference in New Issue
Block a user