From a97f024d446e9467829e31ca22434cbcc3535a77 Mon Sep 17 00:00:00 2001 From: TheWanderingCrow Date: Mon, 24 Nov 2025 18:04:15 -0500 Subject: [PATCH] monerod and p2pool seem to be working --- .../common/optional/services/monero/miner.nix | 40 +++++++++++++++ .../common/optional/services/monero/node.nix | 51 +++++++++++++++++++ hosts/nixos/Parzival/default.nix | 5 +- 3 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 hosts/common/optional/services/monero/miner.nix create mode 100644 hosts/common/optional/services/monero/node.nix diff --git a/hosts/common/optional/services/monero/miner.nix b/hosts/common/optional/services/monero/miner.nix new file mode 100644 index 0000000..ab31f8f --- /dev/null +++ b/hosts/common/optional/services/monero/miner.nix @@ -0,0 +1,40 @@ +{ + config, + pkgs, + ... +}: +{ + + environment.systemPackages = builtins.attrValues { + inherit (pkgs.unstable) + monero-gui + monero-cli + p2pool + xmrig + ; + }; + + users.users.p2pool = { + isSystemUser = true; + group = "p2pool"; + description = "p2pool daemon user"; + home = "/var/lib/p2pool"; + createHome = true; + }; + + users.groups.p2pool = { }; + + systemd.services.p2pool = { + description = "p2pool daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = { + User = "p2pool"; + Group = "p2pool"; + ExecStart = "${pkgs.unstable.p2pool}/bin/p2pool --host 127.0.0.1 --wallet 48kwCPHhnbXfriMCtGHu4BRrc8dwmhUxVdD1ycATtDigW4Fjrsfhi7wQ2QSNyvspxaN7Tt2dApAEbFhTeSPD9w1x4JmyzTg --nano"; + Restart = "always"; + }; + }; + +} diff --git a/hosts/common/optional/services/monero/node.nix b/hosts/common/optional/services/monero/node.nix new file mode 100644 index 0000000..ad2ab8f --- /dev/null +++ b/hosts/common/optional/services/monero/node.nix @@ -0,0 +1,51 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + environment.systemPackages = builtins.attrValues { + inherit (pkgs.unstable) + monero-cli + ; + }; + + users.users.monero = { + isSystemUser = true; + group = "monero"; + description = "Monero daemon user"; + home = "/var/lib/monero"; + createHome = true; + }; + + users.groups.monero = { }; + + systemd.services.monero = { + description = "monero daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + serviceConfig = + let + moneroConfig = pkgs.writeText "monerod_config.conf" '' + log-file=/dev/stdout + data-dir=${config.users.users.monero.home} + add-priority-node=p2pmd.xmrvsbeast.com:18080 + add-priority-node=nodes.hashvault.pro:18080 + enable-dns-blocklist=1 + ''; + in + { + User = "monero"; + Group = "monero"; + ExecStart = "${pkgs.unstable.monero-cli}/bin/monerod --config-file=${moneroConfig} --non-interactive"; + Restart = "always"; + SuccessExitStatus = [ + 0 + 1 + ]; + }; + }; + +} diff --git a/hosts/nixos/Parzival/default.nix b/hosts/nixos/Parzival/default.nix index 1ce0709..a886bb8 100644 --- a/hosts/nixos/Parzival/default.nix +++ b/hosts/nixos/Parzival/default.nix @@ -8,7 +8,8 @@ lib, pkgs, ... -}: { +}: +{ imports = lib.flatten [ # Hardware ./hardware-configuration.nix # I want to use factor if possible @@ -38,6 +39,8 @@ "hosts/common/optional/vbox.nix" "hosts/common/optional/printing.nix" "hosts/common/optional/docker.nix" + "hosts/common/optional/services/monero/node.nix" + "hosts/common/optional/services/monero/miner.nix" "modules/services/ollama" "modules/services/mesh/client.nix" ])