From 909955098df9c68f6d6ce088f115ebf2ba12b2ec Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Thu, 10 Apr 2025 16:12:40 +0200 Subject: [PATCH 1/2] inputs: add nix-bitcoin --- inputs.nix | 21 +++++++++++++++++++++ lock.nix | 4 ++++ update-list.nix | 1 + 3 files changed, 26 insertions(+) diff --git a/inputs.nix b/inputs.nix index 78f008c..7f043b0 100644 --- a/inputs.nix +++ b/inputs.nix @@ -67,6 +67,27 @@ let self = { sha256 = "${lock.nixpkgs-unstable.sha256}"; }; }; + nix-bitcoin = rec { + url = "https://github.com/fort-nix/nix-bitcoin/archive/${lock.nix-bitcoin.revision}.tar.gz"; + updateScript = pkgs.den-http-get-updater { + fileLocation = lockFile; + previousVersion = lock.nix-bitcoin.revision; + versionUrl = "https://api.github.com/repos/fort-nix/nix-bitcoin/commits"; + contentParser = "jq -rc '.[0].sha' <<< \"$newVersion\""; + prefetchList = [{ + previousHash = lock.nix-bitcoin.sha256; + prefetchUrlLocation = { + file = ./inputs.nix; + attrpath = "nix-bitcoin.url"; + }; + }]; + }; + outPath = builtins.fetchTarball { + inherit url; + name = "nix-bitcoin"; + sha256 = "${lock.nix-bitcoin.sha256}"; + }; + }; cosmic-modules = rec { url = "https://github.com/lilyinstarlight/nixos-cosmic/archive/${lock.cosmic-modules.revision}.tar.gz"; updateScript = pkgs.den-http-get-updater { diff --git a/lock.nix b/lock.nix index b11d9d3..9f47d2f 100644 --- a/lock.nix +++ b/lock.nix @@ -11,6 +11,10 @@ revision = "c8cd81426f45942bb2906d5ed2fe21d2f19d95b7"; sha256 = "sha256-tzCdyIJj9AjysC3OuKA+tMD/kDEDAF9mICPDU7ix0JA="; }; + nix-bitcoin = { + revision = "990805aa7c7fcd1552c6e14e8c6df9a88ba9be41"; + sha256 = "sha256-yU7iYlDSD8lOrm02igxIl3y+bXGZDDO0qcG0gO48Cto="; + }; cosmic-modules = { revision = "d20b15f629985fe6900925bef462f947e4a75b2f"; sha256 = "sha256-KEuKL7lM2ZqKzvaGIptVDAce29CAR4ZSgWtFD3PnpB0="; diff --git a/update-list.nix b/update-list.nix index eaaa200..f846bcb 100644 --- a/update-list.nix +++ b/update-list.nix @@ -8,6 +8,7 @@ self: in { "inputs/nixpkgs" = inputsWithPackages.nixpkgs; "inputs/nixpkgs-unstable" = inputsWithPackages.nixpkgs-unstable; + "inputs/nix-bitcoin" = inputsWithPackages.nix-bitcoin; "inputs/cosmic-modules" = inputsWithPackages.cosmic-modules; "inputs/nixos-vscode-server" = inputsWithPackages.nixos-vscode-server; }) From 186affb97dbe8de7e323f5549694dff26a2ce46f Mon Sep 17 00:00:00 2001 From: Wroclaw Date: Fri, 11 Apr 2025 19:39:25 +0200 Subject: [PATCH 2/2] hosts/main: add cryptocurrency module this is one of many services that I had hosted using docker --- hosts/main/cryptocurrency.nix | 57 +++++++++++++++++++++++++++++++++++ hosts/main/default.nix | 2 ++ 2 files changed, 59 insertions(+) create mode 100644 hosts/main/cryptocurrency.nix diff --git a/hosts/main/cryptocurrency.nix b/hosts/main/cryptocurrency.nix new file mode 100644 index 0000000..0523912 --- /dev/null +++ b/hosts/main/cryptocurrency.nix @@ -0,0 +1,57 @@ +{ + inputs, + ... +}: + +{ + imports = [ + "${inputs.nix-bitcoin}/modules/modules.nix" + ]; + + config = { + + services.bitcoind = { + enable = true; + listen = true; + txindex = true; + disablewallet = true; + extraConfig = '' + coinstatsindex=1 + maxmempool=2048 + persistmempool=1 + ''; + tor.proxy = true; + rpc.address = "0.0.0.0"; + rpc.allowip = [ + "10.0.0.0/8" + "172.16.0.0/12" + "192.168.0.0/16" + ]; + }; + + services.electrs = { + enable = true; + }; + + services.monero = { + enable = true; + extraConfig = '' + proxy=127.0.0.1:9050 + igd=disabled + ''; + }; + + services.tor.client.enable = true; + + nix-bitcoin = { + onionServices = { + bitcoind = { + public = true; + }; + }; + generateSecrets = true; + secretsDir = "/var/nix-bitcoin"; + configVersion = "0.0.121"; + }; + }; +} diff --git a/hosts/main/default.nix b/hosts/main/default.nix index 3b9807f..ed2ae20 100644 --- a/hosts/main/default.nix +++ b/hosts/main/default.nix @@ -26,6 +26,8 @@ ../../nix-os/gnupg.nix "${inputs.nixos-vscode-server}" + + ./cryptocurrency.nix ]; config = {