Skip to content

Instantly share code, notes, and snippets.

@jonasnick
Last active September 14, 2025 12:02
Show Gist options
  • Select an option

  • Save jonasnick/cd52b4463b720a5fb1406c2cbabaf936 to your computer and use it in GitHub Desktop.

Select an option

Save jonasnick/cd52b4463b720a5fb1406c2cbabaf936 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
read -rd '' src <<'EOF' || :
let
system = "x86_64-linux";
# Latest nix-bitcoin release
nix-bitcoin = builtins.getFlake "github:fort-nix/nix-bitcoin?rev=508a26f1f125f446f1faa2c594f1a4440c0cd341";
makeTest = scenario:
nix-bitcoin.legacyPackages.${system}.makeTest {
name = "bitcoind_30-${scenario}";
config = { pkgs, lib, ... }: {
imports = [ nix-bitcoin.lib.test.scenarios.${scenario} ];
services.bitcoind.package = pkgs.bitcoind.overrideAttrs (oldAttrs: rec {
version = "30.0";
src = builtins.fetchurl {
url = "https://bitcoincore.org/bin/bitcoin-core-${version}/test.rc1/bitcoin-${version}rc1.tar.gz";
sha256 = "1vwxi16kqfyvk28smzb6r1f13cx8crz1qp7mkzfkcnssgc9n0spg";
};
buildInputs = oldAttrs.buildInputs ++ [ pkgs.capnproto ];
# file name of completions changed
postInstall = "";
});
# The latest joinmarket release fails with bitcoind 30.0 because it only
# supports legacy wallets.
services.joinmarket.enable = lib.mkForce false;
};
};
in [
(makeTest "secureNode") # Production mode with all services
(makeTest "netnsRegtest") # Regtest + network isolation
(makeTest "lndPruned") # Special case: LND with pruned bitcoind
]
EOF
nix build -L --no-link --print-out-paths --expr "$src"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment