Commit Graph
100 Commits
Author SHA1 Message Date
Erik Arvstedt 4442e87ff2 bitcoind: 29.1 -> 29.2 2025-10-27 10:31:29 +01:00
Erik Arvstedt 944bd8ed9b bitcoind: init at 29.1
bitcoind 29.x is required for joinmarket.
nixos-25.05 is at 29.0, which is a regression from 29.1.
nixos-unstable is at 30.0, which is incompatible.

Adapted from nixpkgs `96ff46705a694219cefa5155ba52203d9d32e65e`, with
minor modifications to make it compatible with nixos 25.05.
2025-10-27 10:31:27 +01:00
Erik Arvstedt bba75b0a7f support running joinmarket with bitcoind 29 2025-10-23 08:15:34 +02:00
Erik Arvstedt 1c786d67c6 update nixpkgs
bitcoin: 29.1 -> 30.0
bitcoind: 29.1 -> 30.0
bitcoind-knots: 29.1.knots20250903 -> 29.2.knots20251010
clboss: 0.14.1 -> 0.15.1
2025-10-23 08:15:34 +02:00
Erik Arvstedt 3a13b5f77c ci/test-info.nix: read scenarios from github workflow file
Simplifies maintenance, both files no longer need to be kept in sync.
2025-10-21 07:10:47 +02:00
Erik Arvstedt 81ac8735bd update nixpkgs
bitcoind: 29.0 -> 29.1
btcpayserver: 2.1.6 -> 2.2.1
2025-09-12 09:11:04 +02:00
Erik Arvstedt 454f6ad9fa rtl: 0.15.5 -> 0.15.6 2025-09-10 11:00:02 +02:00
Erik Arvstedt 0c02330001 update nixpkgs
lnd: 0.19.2-beta -> 0.19.3-beta
2025-09-05 20:44:09 +02:00
Erik Arvstedt 6bc5747951 run-tests: fix tmpDir being deleted before it's used
In `buildTests`, `nixInstantiate` is called in a subshell.
When `tmpDir` is unset before the call, the tmpdir is created in the
subshell and gets deleted before subshell exit (via `trap`).
But subsequent code accesses the tmpdir, which has now been deleted,
leading to an error.

This bug has been undetected for a long time because bash 5.2 has a
bug [1] where `trap` is not always executed, causing the tmpdir to never be deleted.
Bash 5.3 (introduced in NixOS 25.05) now works correctly and exposes the bug.

Fix it by creating the tmpdir before the subshell call.

[1] https://mail.gnu.org/archive/html/help-bash/2024-07/msg00007.html
2025-08-18 13:28:00 +02:00
Erik Arvstedt 904fd2e2b6 trustedcoin: 0.8.4 -> 0.8.6 2025-08-18 13:20:49 +02:00
Erik Arvstedt 874b214707 examples/configuration.nix: improve secure-node preset documentation
Explicitly import modules.nix, so that users can remove the
secure-node.nix import.
2025-08-14 13:21:11 +02:00
Erik Arvstedt 9f8dc58f85 ci: group job output, print eval results
Useful for debugging.
2025-08-11 22:15:48 +02:00
Erik Arvstedt da2a683393 update nixpkgs
electrs: 0.10.9 -> 0.10.10
2025-08-10 19:06:23 +02:00
Erik Arvstedt 17f057cb08 update nixpkgs
btcpayserver: 2.1.5 -> 2.1.6
lnd: 0.19.1-beta -> 0.19.2-beta
2025-07-20 22:50:22 +02:00
Erik Arvstedt 84028a238d rtl: 0.15.4 -> 0.15.5 2025-07-09 16:00:59 +02:00
Erik Arvstedt 042f4af4fa update nixpkgs
btcpayserver: 2.1.1 -> 2.1.5
clightning: 25.02.2 -> 25.05
lightning-loop: 0.31.1-beta -> 0.31.2-beta
lnd: 0.19.0-beta -> 0.19.1-beta
2025-06-29 15:10:42 +02:00
Erik Arvstedt 5516bcc43b ci: switch from Cirrus to Github Actions 2025-06-26 23:26:57 +02:00
Erik Arvstedt 7d33e9d5e9 tests: extract fn instantiateTestsFromStr
Fn `instantiateTests` now takes an array of strings.
It is used in the following commit.
2025-06-26 23:23:51 +02:00
Erik Arvstedt 9311fb9a1b lnd: disable log file, disable log timestamps
This is the default for nix-bitcoin services.
`no-timestamps` has been added in lnd 0.19.0-beta.

Also remove deprecated option `bitcoin.active`.
2025-06-11 16:08:26 +02:00
Erik Arvstedt fd84c576f4 update nixpkgs
lightning-loop: 0.28.8-beta -> 0.31.1-beta
lnd: 0.18.5-beta -> 0.19.0-beta
2025-06-11 15:30:27 +02:00
Erik Arvstedt fb56684999 ci: enable parallel building
Use `nix build --print-build-logs` to prefix the build output with the
name of its derivation.
This helps to distinguish build outputs when output is interleaved in
parallel builds.
2025-06-10 13:45:57 +02:00
Erik Arvstedt a52bf46031 treewide: streamline bash error reporting
- Show the script file name
- Use common line number format that allows opening
  file at line in editors
2025-06-10 13:45:57 +02:00
Erik Arvstedt 538b2dcfae clnrest: update cargoHash 2025-06-10 13:45:57 +02:00
Erik Arvstedt 9b607daa78 python-packages/specific-versions: remove coincurve_20
`coincurve_20` in now included in nixpkgs 25.05.
Also remove its dependency `scikit-build-core_0_10`.
2025-06-10 13:45:57 +02:00
Erik Arvstedt 9da4d1e8c0 python-packages: update to NixOS 25.05
- Cryptography contains no relevant backwards-incompatible changes
https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst#4400---2024-11-27

- Other updates are minor maintenance releases
2025-06-10 13:45:57 +02:00
Erik Arvstedt 79900f941d update to nodejs 22
Version 18 is no longer supported.
Version 22 is the current LTS release.
2025-06-10 13:45:57 +02:00
Erik Arvstedt 9808a5e5d4 update to NixOS 25.05 2025-06-10 13:45:57 +02:00
Erik Arvstedt 4763e2e8f0 clightning: increase service start timeout 2025-06-03 11:41:33 +02:00
Erik Arvstedt 7822e2c9d3 mempool: add frontend settings 2025-06-02 10:46:55 +02:00
Erik Arvstedt 81112a0553 mempool: 2.5.0 -> 3.2.1 2025-06-02 10:46:54 +02:00
Erik Arvstedt 9a044fbfed mempool: remove unneded nginx config files
mempool.conf, nginx.conf were not used in nix-bitcoin.
2025-06-02 10:46:54 +02:00
Erik Arvstedt 710a92d18c mempool: improve comments 2025-06-02 10:46:54 +02:00
Erik Arvstedt d61099a535 mempool: minor refactorings
- Use `sourceRoot`
- Allow `generate.sh` to directly trigger the build of `nodeModules`.
  Needed by mempool 3.2.1, where `mempool-backend` has multiple fixed output
  derivation dependencies, which can only be updated if they can be
  built directly.
2025-06-02 10:46:52 +02:00
Erik Arvstedt c48b99782d mempool: fix version
Remove `v` prefix of mempool drv versions: `v2.5.0` -> `2.5.0`
2025-06-02 10:32:32 +02:00
Erik Arvstedt 343bf4731c charge-lnd: remove electrum server support
This has been removed upstream:
https://github.com/accumulator/charge-lnd/commit/481ccf5282ca980435267870172a0d7f14ef6939
2025-05-25 13:28:21 +02:00
Erik Arvstedt b111cf9c57 update nixpkgs
btcpayserver: 2.1.0 -> 2.1.1
charge-lnd: 0.2.13 -> 0.3.0
clightning: 25.02.1 -> 25.02.2
2025-05-25 12:02:31 +02:00
Erik Arvstedt c65cfdcbec bitcoind: remove upper limit of option dbcache
The upper limit has been removed.
See item `The maximum allowed value...` at
https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-29.0.md#updated-settings
2025-05-22 15:04:37 +02:00
Erik Arvstedt 44662a8fa5 trustedcoin: 2024-11-15 -> 0.8.4 2025-05-22 10:42:46 +02:00
Erik Arvstedt ce6244cc69 clightning: set service as active only after clnrest has started 2025-05-20 22:42:41 +02:00
Erik Arvstedt a2a0174d0f bitcoind-rpc-public-whitelist.nixbitcoind-rpc-public-whitelist: add getblockfrompeer
This is used by nbxplorer since v2.5.24 on pruned nodes:
https://github.com/dgarage/NBXplorer/pull/511
2025-05-15 23:11:37 +02:00
Erik Arvstedt 742eb2e401 nbxplorer: init at 2.5.26
Backport of https://github.com/NixOS/nixpkgs/pull/407336
Fixes https://github.com/MetacoSA/NBitcoin/pull/1269
2025-05-15 22:34:31 +02:00
Erik Arvstedt 69090cddfa pinned pkgs: add bitcoind-knots 2025-05-13 00:00:54 +02:00
Erik Arvstedt 411b131c3a test: remove clightning plugin start timeout patch
Unneded because the timeout has been increased upstream:
https://github.com/ElementsProject/lightning/commit/ee3133f19885269985180bd20e0b9737c70cf86c
2025-05-09 13:56:33 +02:00
Erik Arvstedt 815f2cd325 clightning: don't set datadir for bitcoin-cli plugin
This option is unneeded because `bitcoin-cli` auth and connection
settings are already provided by other options like `bitcoin-rpcpassword`.

In bitcoind versions prior to 29.0, option `datadir` (passed by clightning to `bitcoin-cli`)
was therefore ignored.
Since 29.0, option `datadir` is always checked for validity. This causes a
file permission error because service clighting has no access to the
bitcoin datadir. This is now fixed.
2025-05-09 13:56:18 +02:00
Erik Arvstedt 04b6a09be4 clightning-plugins: use clnrest, remove Python version 2025-05-09 13:32:19 +02:00
Erik Arvstedt ac86e67c85 clnrest: init at 0.2.0 2025-05-08 23:59:08 +02:00
Erik Arvstedt 8f99c63303 update nixpkgs
btcpayserver: 1.13.7 -> 2.0.7
nbxplorer: 2.5.17 -> 2.5.23

Co-authored-by: Erik Arvstedt <erik.arvstedt@gmail.com>
2025-03-11 19:36:26 +00:00
Erik Arvstedt 3872f893dc update nixpkgs
electrs: 0.10.8 -> 0.10.9
lnd: 0.18.4-beta -> 0.18.5-beta
nbxplorer: 2.5.16 -> 2.5.17
2025-02-14 15:51:16 +01:00
Erik Arvstedt 4aaef5fdf4 services: use wants dependency where possible
Let A be a service that depends on another service B.
When A can gracefully handle failures and restarts of B, use
```
wants = [ "B.service" ];
after = [ "B.service" ];
```
instead of
```
requires = [ "B.service" ];
after = [ "B.service" ];
```
in the definition of A.

This way, A keeps running when B is stopped or restarted after a failure.
With `requires`, A is instead stopped when B is stopped or restarted due to a failure.

This brings two benefits:

1. Improved uptime
Examples:
- RTL keeps running when one lightning node has failed
- btcpayserver keeps running and accepting on-chain payments when the lightning node has crashed

2. Avoids a systemd bug where depending units (`A.service` in the
above example) are not restarted when their dependency fails
(issue github/systemd#18856, no full link to avoid spamming the issue).
In real world nix-bitcoin deployments, this issue was only likely to
appear when clightning failed during activation, causing depending
units (like `RTL`) to stop and not be restarted.
All services depending on `clightning` have now been changed to use
`wants`, thereby avoiding the bug.

Services `electrs` and `lightning-loop` fail when their respective
dependencies stop, so these services have not been changed.
I also haven't changed services `joinmarket` and
`joinmarket-yieldgenerator`. Further manual testing is needed to
determine if they can be switched to `wants`.
2025-01-29 20:44:26 +01:00
Erik Arvstedt fe8c6b1e6a dev: add more automation to NixOS version updates
Use the `update-flake.sh` script to auto-update the NixOS version at
various places.

Also update `examples/container/flake.nix` which has been
missing in the update instructions.
2025-01-25 22:24:09 +01:00
Erik Arvstedt 6486bca30f test/README: mention Flakes requirement 2025-01-22 20:48:12 +01:00
Erik Arvstedt b8f6343ee4 fix test persistentContainerExample
This test requires `electrs` to be enabled.

Also, by using `electrs` instead of `clightning` we avoid the bug
where clightning hangs at startup when internet access is unavailable.
Due to technical limititations, internet access is available in NixOS
containers only after the container has started.
2025-01-22 20:41:52 +01:00
Erik Arvstedt b36867c845 examples/container: use faster destroy cmd
This skips evaluating the container system derivation.
2025-01-22 20:31:30 +01:00
Erik Arvstedt b5e5974b8a flake: update extra-container
Adds support for NixOS 24.11
2024-12-14 10:52:27 +01:00
Erik Arvstedt 2d53b57636 tests.py: fix syntax warning
Fixes this warning from the NixOS VM test script linter:
SyntaxWarning: invalid escape sequence '\['
2024-12-14 10:52:27 +01:00
Erik Arvstedt 09ba739719 nbxplorer: remove deprecated option
Fixes this warning:
Explorer: Options 'automigrate' is obsolete and ignored...
2024-12-14 10:52:26 +01:00
Erik Arvstedt d6bae0a9eb python3Packages.clnrest: update to NixOS 24.11
Gunicorn 22 and 23 mostly include security fixes:
https://github.com/benoitc/gunicorn/releases
2024-12-14 10:52:26 +01:00
Erik Arvstedt b78116b0da python3Packages.clnrest: use --replace-fail 2024-12-14 10:52:26 +01:00
Erik Arvstedt dc8f969eea python3Packages.pyln-proto: update to NixOS 24.11
Cryptography contains no relevant backwards-incompatible changes:
https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst#4300---2024-07-20
2024-12-14 10:52:26 +01:00
Erik Arvstedt 8af7fc4b80 python3Packages.joinmarket: update to NixOS 24.11
- Cryptography contains no relevant backwards-incompatible changes
  https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst#4300---2024-07-20

- Txtorcon 24.8.0 is a minor maintenance release:
  https://github.com/meejah/txtorcon/releases/tag/v24.8.0
2024-12-14 10:52:26 +01:00
Erik Arvstedt c66a6aab3a python3Packages.joinmarket: allow Python 3.12
Python 3.12 is the default in Nixos 24.11.
All tests succeed with Python 3.12.

Context:

Related issue:
https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/1589

This issue contains no hints on what changes caused joinmarket to be
incompatible/compatible with Python 3.12.

The restriction to Python <3.12 was added
here (https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1587)
in Oct 2023.

This post
(https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/1589#issuecomment-2119278070)
in the above issue mentions on 2024-05-19 that tests are running again
with Python 3.12.

The current joinmarket version (0.9.11) was released on 2024-02-22.
2024-12-14 10:52:26 +01:00
Erik Arvstedt 3ce3a000b2 modules: update to NixOS 24.11 2024-12-14 10:52:26 +01:00
Erik Arvstedt a3ded4cf74 update to NixOS 24.11 2024-12-14 10:52:26 +01:00
Erik Arvstedt ba46d20a25 update-flake.sh: add workflow for updating the NixOS version 2024-12-14 10:52:26 +01:00
Erik Arvstedt f60a50607d update-flake.sh: remove support for Nix < 2.19
Nix 2.24 is the default in NixOS 24.11.

This is required by the following commit that uses a `flake update`
command syntax only supported by Nix >= 2.19.
2024-12-13 23:22:22 +01:00
Erik Arvstedt 50cafcaf8e rtl: 0.15.2 -> 0.15.4 2024-12-13 19:50:23 +01:00
Erik Arvstedt daa3bfbae3 lndconnect: add clnrest 2024-11-27 21:35:46 +01:00
Erik Arvstedt 87b929bc99 wireguard-lndconnect: remove obsolete workaround 2024-11-27 21:35:46 +01:00
Erik Arvstedt d682cb95c8 README: remove clightning-rest
`clightning-rest` will be deprecated soon.
2024-11-27 21:35:46 +01:00
Erik Arvstedt ad2a128471 rtl: use clnrest
Using `clightning-rest` is no longer supported by rtl.
2024-11-27 21:35:46 +01:00
Erik Arvstedt 4e9c153f9c rtl: 0.14.1 -> 0.15.4 2024-11-27 18:48:24 +01:00
Erik Arvstedt e74ddd9464 clightning.plugins.clnrest: init 2024-11-27 18:48:24 +01:00
Erik Arvstedt 76ea066809 trustedcoin: 0.8.2 -> 2024-11-15
Supports bitcoind 28.0.
2024-11-15 19:37:56 +01:00
Erik Arvstedt ca96e1959e lnd: make ExecStartPost extensible
By wrapping the value in a list, users can add other `ExecStartPost` scripts.
The previous scalar value could only be replaced, but not merged with
other definitions.
2024-11-06 16:48:30 +01:00
Erik Arvstedt 328a28ec9c update nixpkgs
clightning: 24.08 -> 24.08.1
fulcrum: 1.11.0 -> 1.11.1
hwi: 3.0.0 -> 3.1.0
2024-09-23 19:58:47 +02:00
Erik Arvstedt 8e34b25164 btcpayserver: fix lnd with "bind to any" restAddress 2024-08-29 20:34:36 +02:00
Erik Arvstedt 98692a35c1 clboss: use pkg from nixpkgs (0.13.1 -> 0.13.2) 2024-08-16 14:19:19 +02:00
Erik Arvstedt cf3f0dbb2d joinmarket: add option settings
Joinmarket settings can now be freely specified.
2024-08-11 20:16:56 +02:00
Erik Arvstedt da625fc13d bitcoind.rpc.users: improve example
Add RPC entries that don't exist in the public whitelist.
2024-07-31 18:13:29 +02:00
Erik Arvstedt a04c15958a btcpayserver: remove redundant RPC entry from whitelist
`getpeerinfo` already exists in the public whitelist.
2024-07-31 18:13:29 +02:00
Erik Arvstedt fee9dc8c17 bitcoind-rpc-public-whitelist: add getnodeaddresses
`getnodeaddresses` returns addresses of peers the bitcoind instance
has seen over its lifetime. It's safe for public use.
2024-07-31 18:13:29 +02:00
Erik Arvstedt da2e473158 joinmarket: don't set default config options
These options are set by default in `jmclient/configure.py` and don't
need to be repeated.

Some options, like those in section `POLICY`, might be assigned more
suitable default values in future joinmarket releases, so don't override
them in nix-bitcoin.
2024-07-29 11:24:37 +02:00
Erik Arvstedt 74eb9a17b6 joinmarket/yieldgenerator: add docs link to description 2024-07-29 11:22:47 +02:00
Erik Arvstedt 5694408d3a joinmarket: remove deleted option txfee 2024-07-27 19:55:29 +02:00
Erik Arvstedt 2a9489ec0b tests/flake: check flake outputs for all systems
Now all `supportedSystems` from flake.nix are checked instead of only
the native system of the `nix flake check` process.
2024-07-20 22:46:57 +02:00
Erik Arvstedt b7bce52da9 examples: fix call to start-bash-session.sh
Ensure that the file relative to the example scripts is called.
Previously, the unqualified call would give precedence to source files in
PATH. This could lead to the wrong file being called when dir
`helper` (containing another file named `start-bash-session.sh`) was in PATH.
2024-07-20 22:41:18 +02:00
Erik Arvstedt 5d0907b064 test/nixos-search: fix running flake-info in an offline environment 2024-07-20 22:41:18 +02:00
Erik Arvstedt 3cc6010658 test/nixos-search/ci-test.sh: remove unneded setup step
Sandbox is off by default in the `docker-nixpkgs` image.
2024-07-20 22:41:18 +02:00
Erik Arvstedt 22c1424552 backups: fix for nixos 24.05 2024-07-20 22:41:18 +02:00
Erik Arvstedt 69b3d5f1b3 bitcoind: fix module warning
Fix warning:
```
bitcoind.service is ordered after 'network-online.target' but doesn't depend on it
```
2024-07-20 22:41:18 +02:00
Erik Arvstedt e8e5d8cf4c python3Packages.joinmarket: update to nixos 24.05 2024-07-20 22:39:46 +02:00
Erik Arvstedt 7f8563afec python3Packages.pyln-proto: update to nixos 24.05
- coincurve has been bumped to v20 on pyln-proto master without further
  code changes, so using v19 is fine

- the breaking changes in cryptography 42 don't affect pyln-proto
  https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst
2024-07-18 20:57:00 +02:00
Erik Arvstedt 5d463b1677 treewide: remove buildPythonPackageWithDepsCheck
Requirements checking has been re-enabled in nixos 24.05.
2024-07-18 20:57:00 +02:00
Erik Arvstedt fc703c38c9 treewide: remove obsolete mdDoc 2024-07-18 20:57:00 +02:00
Erik Arvstedt 83eb1de24b update to nixos 24.05 2024-07-18 20:57:00 +02:00
Erik Arvstedt 7daab61431 rtl: remove unused pkg arg 2024-07-15 20:32:26 +02:00
Erik Arvstedt 1f32792d31 bitcoind-rpc-public-whitelist: add getpeerinfo
Required by lnd 0.18.0.
2024-07-08 12:54:56 +02:00
Erik Arvstedt 44addcb5aa treewide: use substituteInPlace --replace-fail
Now substitution failures result in a script error.
This has recently been backported to nixpkgs 23.11.
2024-05-24 14:55:00 +02:00
Erik Arvstedt eafcb36119 clboss: 0.13 -> 0.13.1 2024-05-05 17:29:30 +02:00
Erik Arvstedt 42bae23337 update nixpkgs
bitcoind: 26.1 -> 27.0
lnd: 0.17.4-beta -> 0.17.5-beta
2024-05-05 17:03:34 +02:00