From cd5ed39b9cdde341325170c7e27b4ea0c9aca302 Mon Sep 17 00:00:00 2001 From: Erik Arvstedt Date: Wed, 27 Nov 2019 14:04:34 +0100 Subject: [PATCH] lnd: add cli option --- modules/lnd.nix | 10 ++++++++++ modules/nix-bitcoin-webindex.nix | 1 + modules/nix-bitcoin.nix | 5 +---- pkgs/nodeinfo/nodeinfo.sh | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/modules/lnd.nix b/modules/lnd.nix index b41c21e..589d5ea 100644 --- a/modules/lnd.nix +++ b/modules/lnd.nix @@ -88,6 +88,16 @@ in { ''; description = "Additional configurations to be appended to lnd.conf."; }; + cli = mkOption { + readOnly = true; + default = pkgs.writeScriptBin "lncli" + # Switch user because lnd makes datadir contents readable by user only + '' + exec sudo -u lnd ${pkgs.nix-bitcoin.lnd}/bin/lncli --tlscertpath /secrets/lnd_cert \ + --macaroonpath '${cfg.dataDir}/chain/bitcoin/mainnet/admin.macaroon' "$@" + ''; + description = "Binary to connect with the lnd instance."; + }; enforceTor = nix-bitcoin-services.enforceTor; }; diff --git a/modules/nix-bitcoin-webindex.nix b/modules/nix-bitcoin-webindex.nix index b4d9621..3371438 100644 --- a/modules/nix-bitcoin-webindex.nix +++ b/modules/nix-bitcoin-webindex.nix @@ -77,6 +77,7 @@ in { path = with pkgs; [ nix-bitcoin.nodeinfo config.services.clightning.cli + config.services.lnd.cli jq sudo ]; diff --git a/modules/nix-bitcoin.nix b/modules/nix-bitcoin.nix index 5aee387..304cf3c 100644 --- a/modules/nix-bitcoin.nix +++ b/modules/nix-bitcoin.nix @@ -102,9 +102,6 @@ in { services.onion-chef.access.operator = [ "bitcoind" "clightning" "nginx" "liquidd" "spark-wallet" "electrs" "sshd" ]; environment.interactiveShellInit = '' - ${optionalString (config.services.lnd.enable) '' - alias lncli='sudo -u lnd lncli --tlscertpath /secrets/lnd_cert --macaroonpath ${config.services.lnd.dataDir}/chain/bitcoin/mainnet/admin.macaroon' - ''} ${optionalString (config.services.liquidd.enable) '' alias elements-cli='elements-cli -datadir=${config.services.liquidd.dataDir}' alias liquidswap-cli='liquidswap-cli -c ${config.services.liquidd.dataDir}/elements.conf' @@ -173,7 +170,7 @@ in { qrencode ] ++ optionals config.services.clightning.enable [clightning (hiPrio config.services.clightning.cli)] - ++ optionals config.services.lnd.enable [lnd] + ++ optionals config.services.lnd.enable [lnd (hiPrio config.services.lnd.cli)] ++ optionals config.services.lightning-charge.enable [lightning-charge] ++ optionals config.services.nanopos.enable [nanopos] ++ optionals config.services.nix-bitcoin-webindex.enable [nginx] diff --git a/pkgs/nodeinfo/nodeinfo.sh b/pkgs/nodeinfo/nodeinfo.sh index 7ab1649..a45bc5b 100644 --- a/pkgs/nodeinfo/nodeinfo.sh +++ b/pkgs/nodeinfo/nodeinfo.sh @@ -14,7 +14,7 @@ if [ -x "$(command -v lightning-cli)" ]; then fi if [ -x "$(command -v lncli)" ]; then - LND_NODEID=$(sudo -u lnd lncli --tlscertpath /secrets/lnd_cert --macaroonpath /var/lib/lnd/chain/bitcoin/mainnet/admin.macaroon getinfo | jq -r '.uris[0]') + LND_NODEID=$(lncli getinfo | jq -r '.uris[0]') echo LND_NODEID="$LND_NODEID" fi