Files
Sovran_SystemsOS/modules/vendor/nix-bitcoin/enable-tor.nix
T
Sovran Fixandnaturallaw777 4b511348ae 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
2026-08-09 21:21:19 -05:00

55 lines
1.7 KiB
Nix

{ lib, config, ... }:
let
defaultTrue = lib.mkDefault true;
defaultEnableTorProxy = {
tor.proxy = defaultTrue;
tor.enforce = defaultTrue;
};
defaultEnforceTor = {
tor.enforce = defaultTrue;
};
in {
services.tor = {
enable = true;
client.enable = true;
};
services = {
# Use Tor as a proxy for outgoing connections
# and restrict all connections to Tor
#
bitcoind = defaultEnableTorProxy;
# clightning = defaultEnableTorProxy; # vendored: not needed (Sovran uses lnd)
lnd = 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; # vendored: not used
mempool = defaultEnableTorProxy;
# These services don't make outgoing connections
# (or use Tor by default in case of joinmarket)
# but we restrict them to Tor just to be safe.
#
electrs = defaultEnforceTor;
# fulcrum = defaultEnforceTor; # vendored: not used
nbxplorer = defaultEnforceTor;
rtl = 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; # stub
electrs.enable = defaultTrue;
# fulcrum.enable = defaultTrue; # stub
# joinmarket-ob-watcher.enable = defaultTrue; # stub
rtl.enable = defaultTrue;
};
}