{ config, pkgs, ... }: { services = { monero = { enable = true; dataDir = "/var/lib/monero"; # prune option exists in unstable/25.11+ # prune = false; rpc = { address = "127.0.0.1"; port = 18081; }; extraConfig = '' zmq-pub=tcp://127.0.0.1:18083 ''; }; xmrig = { enable = true; settings = { autosave = false; cpu = { rx = { enabled = true; threads = 6; }; }; pools = [ { url = "127.0.0.1:3333"; user = "4BD1gWVaMxdTqVnQdFW6m4j9wBj8UkoBtXuPdRqdoMypjQAzvvXwTZ8AvkeUbKhspdCJazj3bYyS855cpzj3ZG1FB9DNqqF"; keepalive = true; tls = false; } ]; }; }; }; systemd.services.p2pool = { description = "P2Pool for XMR"; wantedBy = [ "multi-user.target" ]; after = [ "network-online.target" "monero.service" ]; serviceConfig = { ExecStart = '' ${pkgs.p2pool}/bin/p2pool \ --mini \ --host 127.0.0.1 \ --rpc-port 18081 \ --wallet 4BD1gWVaMxdTqVnQdFW6m4j9wBj8UkoBtXuPdRqdoMypjQAzvvXwTZ8AvkeUbKhspdCJazj3bYyS855cpzj3ZG1FB9DNqqF \ --stratum 127.0.0.1:3333 \ --p2p 127.0.0.1:37889 \ ''; Restart = "always"; RestartSec = "5s"; }; }; }