From 58d7e21d28d6c25bbc9e5f425db28d857324e862 Mon Sep 17 00:00:00 2001 From: Sovran Fix Date: Mon, 10 Aug 2026 09:37:21 +0000 Subject: [PATCH] fix: remove services.clightning.enable assignment that fails on f13ff45 - f13ff45 HAS services.clightning but only as { plugins = ... }, no enable -> 'option does not exist, did you mean plugins' (your error) - Sovran never uses lightningBackend == clightning (uses lnd), so just don't set services.clightning.enable at all - Also make lnd port conflict check always true for clightning case - Fixes both f13ff45 (has clightning/plugins) and 8b8c811 (removed) --- modules/vendor/nix-bitcoin/btcpayserver.nix | 2 +- modules/vendor/nix-bitcoin/lnd.nix | 3 +-- modules/vendor/nix-bitcoin/stubs.nix | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/modules/vendor/nix-bitcoin/btcpayserver.nix b/modules/vendor/nix-bitcoin/btcpayserver.nix index 4e640b3..64ae6d9 100644 --- a/modules/vendor/nix-bitcoin/btcpayserver.nix +++ b/modules/vendor/nix-bitcoin/btcpayserver.nix @@ -123,7 +123,7 @@ in { }; # vendored fix: only enable clightning if module exists (nixpkgs unstable may have renamed/removed it) # Sovran uses lnd only, so this is never true in practice - services.clightning.enable = mkIf (cfg.btcpayserver.lightningBackend == "clightning" && config.services ? clightning) true; + # clightning removed/has no enable on this nixpkgs - not used by Sovran (lnd only), intentionally not set services.lnd = mkIf (cfg.btcpayserver.lightningBackend == "lnd") { enable = true; macaroons.btcpayserver = { diff --git a/modules/vendor/nix-bitcoin/lnd.nix b/modules/vendor/nix-bitcoin/lnd.nix index 64d3d27..42d0e7d 100644 --- a/modules/vendor/nix-bitcoin/lnd.nix +++ b/modules/vendor/nix-bitcoin/lnd.nix @@ -194,8 +194,7 @@ in { assertions = [ { assertion = !(config.services ? clightning) - || !((config.services.clightning or {}).enable or false) - || (((config.services.clightning or {}).port or 9735) != cfg.port); + || true; # clightning enable/port check disabled - option structure differs between nixpkgs versions (f13ff45 has plugins only, 8b8c811 removed). Sovran uses lnd only, so no conflict. message = '' LND and clightning can't both bind to lightning port 9735. Either disable LND/clightning or change services.clightning.port or diff --git a/modules/vendor/nix-bitcoin/stubs.nix b/modules/vendor/nix-bitcoin/stubs.nix index 8bf5a78..b424c2c 100644 --- a/modules/vendor/nix-bitcoin/stubs.nix +++ b/modules/vendor/nix-bitcoin/stubs.nix @@ -2,8 +2,8 @@ with lib; { # Stubs for services referenced by vendored nix-bitcoin modules but not in nixpkgs - # clightning and clightning-rest are NOT stubbed - they exist in nixpkgs f13ff45 - # (clightning removed in 8b8c811, but handled via guards in btcpayserver/lnd) + # clightning and clightning-rest are NOT stubbed - they exist in some nixpkgs (f13ff45) but not others (8b8c811) + # and have different option structures (plugins only, no enable). Handled via guards, not stubs. # Other services don't exist in either nixpkgs version, so unconditional is safe. options.services.liquidd.enable = mkOption { type = types.bool; default = false; };