Erik Arvstedt
54651163ba
treewide: fix eval warnings for NixOS 25.11
2025-12-23 10:45:43 +01:00
Erik Arvstedt
4303550ce3
update to NixOS 25.11
2025-12-23 10:45:43 +01:00
Erik Arvstedt
e6e3a13dbb
work around CVE-2024-23342 for pkgs hwi, trezor
2025-11-22 15:21:32 +01:00
Erik Arvstedt
c4cd252753
update nixpkgs
...
bitcoind-knots: 29.2.knots20251010 -> 29.2.knots20251110
clightning: 25.09 -> 25.09.2
lightning-loop: 0.31.2-beta -> 0.31.5-beta
2025-11-22 15:21:32 +01:00
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