From ffbf2f7173163280507c9be7bc3a50199193c3ed Mon Sep 17 00:00:00 2001 From: dish Date: Mon, 8 Dec 2025 13:45:49 -0500 Subject: [PATCH] [romm] add config file support --- hosts/marvin/services/romm.nix | 21 ++++++++++++++++++++- packages/romm/package.nix | 8 +++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/hosts/marvin/services/romm.nix b/hosts/marvin/services/romm.nix index cc116600..414f0a9b 100644 --- a/hosts/marvin/services/romm.nix +++ b/hosts/marvin/services/romm.nix @@ -9,6 +9,24 @@ let sec = config.age.secrets; d = self.lib.data.services.romm; + configFileFormat = pkgs.formats.yaml { }; + rommConfig = { + exclude.platforms = [ ]; + filesystem.roms_folder = "roms"; + scan = { + priority = { + metadata = [ + "igdb" + "moby" + "launchbox" + "hasheous" + "flashpoint" + "ra" + "hltb" + ]; + }; + }; + }; in { systemd.services = { @@ -21,7 +39,7 @@ in # Server TZ = "US/New_York"; ROMM_BASE_PATH = "/var/media/roms"; - ROMM_BASE_URL = "${d.tsHost}.${self.lib.data.tsNet}"; + ROMM_BASE_URL = "${d.tsHost}.${self.lib.data.tsNet}:${toString d.port}"; DB_HOST = "/run/postgresql"; DB_PORT = "5432"; DB_NAME = "romm"; @@ -30,6 +48,7 @@ in ROMM_DB_DRIVER = "postgresql"; REDIS_PORT = toString d.redisPort; CRON_COMMAND = lib.getExe pkgs.cron; + ROMM_CONFIG_FILE = configFileFormat.generate "config.yml" rommConfig; # Metadata Providers LAUNCHBOX_API_ENABLED = "true"; diff --git a/packages/romm/package.nix b/packages/romm/package.nix index 56b3daa6..5dd46b4f 100644 --- a/packages/romm/package.nix +++ b/packages/romm/package.nix @@ -11,11 +11,17 @@ common ? (callPackage ./common.nix { }), frontend ? (callPackage ./frontend.nix { inherit common emulatorjs ruffle-web; }), }: -python3Packages.buildPythonPackage rec { +python3Packages.buildPythonPackage { inherit (common) version src; pname = "romm"; pyproject = false; + # Get config file from nix and not from a folder in the library + postPatch = '' + substituteInPlace backend/config/config_manager.py \ + --replace-fail 'f"{ROMM_USER_CONFIG_PATH}/config.yml"' 'os.environ["ROMM_CONFIG_FILE"]' + ''; + dependencies = with python3Packages; [ -- 2.51.2