{ service_configs, lib, ... }: { imports = [ (lib.serviceMountWithZpool "monero" service_configs.zpool_ssds [ service_configs.monero.dataDir ]) (lib.serviceFilePerms "monero" [ "Z ${service_configs.monero.dataDir} 0700 monero monero" ]) ]; services.monero = { enable = true; dataDir = service_configs.monero.dataDir; rpc = { address = "0.0.0.0"; port = service_configs.ports.public.monero_rpc.port; restricted = true; }; extraConfig = '' p2p-bind-port=${builtins.toString service_configs.ports.public.monero.port} zmq-pub=tcp://127.0.0.1:${builtins.toString service_configs.ports.private.monero_zmq.port} db-sync-mode=fast:async:1000000000bytes public-node=1 confirm-external-bind=1 ''; }; networking.firewall.allowedTCPPorts = [ service_configs.ports.public.monero.port service_configs.ports.public.monero_rpc.port ]; }