- Remove inputs.nix-bitcoin (fort-nix/nix-bitcoin/release) from flake.nix - Vendor only 6 services actually used by Sovran: bitcoind, electrs, lnd (+lndconnect), rtl, btcpayserver, mempool + supporting infra: secrets, onion-services/addresses, operator, nodeinfo, security, versioning - All packages now from nixpkgs directly (pkgs.*) — no pinned pkgs - Keep nix-bitcoin.* option namespace for compatibility - backups.nix removed: Sovran uses rsnapshot to Second_Drive (configuration.nix: hourly/daily to BTCEcoandBackup) — duplicity remote backup not needed - netns-isolation.nix replaced with stub (5 lines): original 365-line bridge/iptables/ip-netns broke Caddy/AlbyHub/RTL a year ago and is incompatible with nwc-wallets (requires enable=false). Stub keeps option valid but warns if enabled. - Add pkgs/sovran-overlay.nix for gaps only: lndinit + netns-exec stub
55 lines
1.5 KiB
Nix
55 lines
1.5 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;
|
|
lnd = defaultEnableTorProxy;
|
|
lightning-loop = defaultEnableTorProxy;
|
|
liquidd = defaultEnableTorProxy;
|
|
# TODO-EXTERNAL:
|
|
# disable Tor enforcement until btcpayserver can fetch rates over Tor
|
|
# btcpayserver = defaultEnableTorProxy;
|
|
lightning-pool = defaultEnableTorProxy;
|
|
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;
|
|
nbxplorer = defaultEnforceTor;
|
|
rtl = defaultEnforceTor;
|
|
joinmarket = defaultEnforceTor;
|
|
joinmarket-ob-watcher = defaultEnforceTor;
|
|
clightning-rest = defaultEnforceTor;
|
|
};
|
|
|
|
# Add onion services for incoming connections
|
|
nix-bitcoin.onionServices = {
|
|
bitcoind.enable = defaultTrue;
|
|
liquidd.enable = defaultTrue;
|
|
electrs.enable = defaultTrue;
|
|
fulcrum.enable = defaultTrue;
|
|
joinmarket-ob-watcher.enable = defaultTrue;
|
|
rtl.enable = defaultTrue;
|
|
};
|
|
}
|