Merge #146: lnd: add package option

106dcacb61 lnd: add package option (Jonas Nick)

Pull request description:

Top commit has no ACKs.

Tree-SHA512: 95f4fa40c34421872ca8940c6ad87775a8c7e75e8b3d5df2ed3a348c1f6212ae7b090b889831bc9ee6ddbcb26e9e237bfbd08542a0a5b7f92b06f2591182710f
This commit is contained in:
Jonas Nick 2020-03-09 09:04:06 +00:00
commit 2d51c722cc
No known key found for this signature in database
GPG Key ID: 4861DBF262123605
1 changed files with 16 additions and 9 deletions

View File

@ -50,19 +50,25 @@ in {
description = "Port on which to listen for gRPC connections.";
};
extraConfig = mkOption {
type = types.lines;
default = "";
example = ''
autopilot.active=1
'';
description = "Additional configurations to be appended to <filename>lnd.conf</filename>.";
};
type = types.lines;
default = "";
example = ''
autopilot.active=1
'';
description = "Additional configurations to be appended to <filename>lnd.conf</filename>.";
};
package = mkOption {
type = types.package;
default = pkgs.nix-bitcoin.lnd;
defaultText = "pkgs.nix-bitcoin.lnd";
description = "The package providing lnd binaries.";
};
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 ${secretsDir}/lnd-cert \
exec sudo -u lnd ${cfg.package}/bin/lncli --tlscertpath ${secretsDir}/lnd-cert \
--macaroonpath '${cfg.dataDir}/chain/bitcoin/mainnet/admin.macaroon' "$@"
'';
description = "Binary to connect with the lnd instance.";
@ -71,6 +77,7 @@ in {
};
config = mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
systemd.services.lnd = {
description = "Run LND";
path = [ pkgs.nix-bitcoin.bitcoind ];
@ -86,7 +93,7 @@ in {
'';
serviceConfig = {
PermissionsStartOnly = "true";
ExecStart = "${pkgs.nix-bitcoin.lnd}/bin/lnd --configfile=${cfg.dataDir}/lnd.conf";
ExecStart = "${cfg.package}/bin/lnd --configfile=${cfg.dataDir}/lnd.conf";
User = "lnd";
Restart = "on-failure";
RestartSec = "10s";