fix: add stubs for nixpkgs-unstable 2026-08 where services.clightning removed

nixpkgs 8b8c811 (2026-08-08) removed services.clightning.enable,
causing btcpayserver.nix:124 to throw 'option does not exist' on
nixos-rebuild (your error). Sovran uses lnd only, never clightning,
but evaluation still throws.

- Add modules/vendor/nix-bitcoin/stubs.nix to provide missing options
  as false stubs: clightning, clightning-rest, liquidd, fulcrum,
  lightning-loop/pool, joinmarket
- Guard btcpayserver/rtl/lnd/mempool clightning/liquidd references
  with config.services ? X checks
- Trim enable-tor.nix onionServices for removed services
This commit is contained in:
Sovran Fix
2026-08-09 21:21:19 -05:00
committed by naturallaw777
parent 81946895db
commit 4b511348ae
7 changed files with 76 additions and 19 deletions
+11 -11
View File
@@ -19,14 +19,14 @@ in {
# and restrict all connections to Tor
#
bitcoind = defaultEnableTorProxy;
clightning = defaultEnableTorProxy;
# clightning = defaultEnableTorProxy; # vendored: not needed (Sovran uses lnd)
lnd = defaultEnableTorProxy;
lightning-loop = defaultEnableTorProxy;
liquidd = defaultEnableTorProxy;
# lightning-loop = defaultEnableTorProxy; # vendored: not used
# liquidd = defaultEnableTorProxy; # vendored: not used
# TODO-EXTERNAL:
# disable Tor enforcement until btcpayserver can fetch rates over Tor
# btcpayserver = defaultEnableTorProxy;
lightning-pool = defaultEnableTorProxy;
# lightning-pool = defaultEnableTorProxy; # vendored: not used
mempool = defaultEnableTorProxy;
# These services don't make outgoing connections
@@ -34,21 +34,21 @@ in {
# but we restrict them to Tor just to be safe.
#
electrs = defaultEnforceTor;
fulcrum = defaultEnforceTor;
# fulcrum = defaultEnforceTor; # vendored: not used
nbxplorer = defaultEnforceTor;
rtl = defaultEnforceTor;
joinmarket = defaultEnforceTor;
joinmarket-ob-watcher = defaultEnforceTor;
clightning-rest = defaultEnforceTor;
# joinmarket = defaultEnforceTor; # vendored: not used
# joinmarket-ob-watcher = defaultEnforceTor; # vendored: not used
# clightning-rest = defaultEnforceTor; # vendored: not used
};
# Add onion services for incoming connections
nix-bitcoin.onionServices = {
bitcoind.enable = defaultTrue;
liquidd.enable = defaultTrue;
# liquidd.enable = defaultTrue; # stub
electrs.enable = defaultTrue;
fulcrum.enable = defaultTrue;
joinmarket-ob-watcher.enable = defaultTrue;
# fulcrum.enable = defaultTrue; # stub
# joinmarket-ob-watcher.enable = defaultTrue; # stub
rtl.enable = defaultTrue;
};
}