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)
This commit is contained in:
Sovran Fix
2026-08-10 04:43:20 -05:00
committed by naturallaw777
parent 9f7dcfa6de
commit 58d7e21d28
3 changed files with 4 additions and 5 deletions
+1 -1
View File
@@ -123,7 +123,7 @@ in {
}; };
# vendored fix: only enable clightning if module exists (nixpkgs unstable may have renamed/removed it) # 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 # 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") { services.lnd = mkIf (cfg.btcpayserver.lightningBackend == "lnd") {
enable = true; enable = true;
macaroons.btcpayserver = { macaroons.btcpayserver = {
+1 -2
View File
@@ -194,8 +194,7 @@ in {
assertions = [ assertions = [
{ assertion = { assertion =
!(config.services ? clightning) !(config.services ? clightning)
|| !((config.services.clightning or {}).enable or false) || 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.
|| (((config.services.clightning or {}).port or 9735) != cfg.port);
message = '' message = ''
LND and clightning can't both bind to lightning port 9735. Either LND and clightning can't both bind to lightning port 9735. Either
disable LND/clightning or change services.clightning.port or disable LND/clightning or change services.clightning.port or
+2 -2
View File
@@ -2,8 +2,8 @@
with lib; with lib;
{ {
# Stubs for services referenced by vendored nix-bitcoin modules but not in nixpkgs # 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 and clightning-rest are NOT stubbed - they exist in some nixpkgs (f13ff45) but not others (8b8c811)
# (clightning removed in 8b8c811, but handled via guards in btcpayserver/lnd) # 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. # Other services don't exist in either nixpkgs version, so unconditional is safe.
options.services.liquidd.enable = mkOption { type = types.bool; default = false; }; options.services.liquidd.enable = mkOption { type = types.bool; default = false; };