summaryrefslogtreecommitdiff
path: root/os/srv/monero.nix
diff options
context:
space:
mode:
Diffstat (limited to 'os/srv/monero.nix')
-rw-r--r--os/srv/monero.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/os/srv/monero.nix b/os/srv/monero.nix
new file mode 100644
index 0000000..e09bc50
--- /dev/null
+++ b/os/srv/monero.nix
@@ -0,0 +1,55 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
+let
+ cfg = config.os.srv.monero;
+ address = "82cAm7hTDr5EPjf9um4zQdYBhH4cxSRFZfzgN9St3jNt1N8ia2Qi6Yj4J5Bwe5aKNBM1fwsrRFkCZUqfHuiAHy11Qy7Z8aF";
+in
+{
+ options.os.srv.monero = {
+ enable = lib.mkEnableOption "enables the daemon and wallet";
+ mining.enable = lib.mkEnableOption "enables mining monero";
+ };
+
+ config = lib.mkMerge [
+ (lib.mkIf cfg.enable {
+ services.monero = {
+ enable = true;
+ prune = true;
+ dataDir = "/home/monero";
+ };
+ environment.systemPackages = [ pkgs.monero-cli ];
+ })
+ (lib.mkIf cfg.mining.enable {
+ services.xmrig = {
+ enable = true;
+ settings = {
+ autosave = true;
+ cpu = true;
+ opencl = true;
+ pools = [
+ {
+ url = "pool.supportxmr.com:443";
+ user = "${address}";
+ keepalive = true;
+ tls = true;
+ }
+ {
+ url = "xmr-eu1.nanopool.org:10343";
+ user = "${address}";
+ keepalive = true;
+ tls = true;
+ }
+ ];
+ };
+ };
+ boot = {
+ kernel.sysctl."vm.nr_hugepages" = lib.mkDefault 1280;
+ initrd.kernelModules = [ "msr" ];
+ };
+ })
+ ];
+}