programs.fzf.bash.keyBindings.enable

Enable the fzf Bash key-bindings and completion.

type

boolean

default

{
  programs.fzf.bash.keyBindings.enable = false;
}

services.btrbk.enable

Whether to start the btrbk snapshotting service.

type

boolean

default

{
  services.btrbk.enable = false;
}

services.btrbk.config

The literal contents of btrbk.conf except for the volume.

type

strings concatenated with "\n"

default

{
  services.btrbk.config = "";
}

services.btrbk.volume

The volume to mount

type

string

default

{
  services.btrbk.volume = "";
}

services.electrum-personal-server.enable

Whether to enable Enable the Electrum Personal Server as a systemd user service. Requires services.bitcoind.

type

boolean

example

{
  services.electrum-personal-server.enable = true;
}

default

{
  services.electrum-personal-server.enable = false;
}

services.electrum-personal-server.package

The package providing the Electrum Personal Server.

type

package

default

{
  services.electrum-personal-server.package = "pkgs.electrum-personal-server";
}

services.electrum-personal-server.configFile

The user-specific configuration file path.

type

string

example

{
  services.electrum-personal-server.configFile = "$HOME/.config/electrum-personal-server/config.ini";
}

default

{
  services.electrum-personal-server.configFile = "$HOME/.config/electrum-personal-server/config.ini";
}

services.electrumx.enable

Whether to enable Enable electrumx, an electrum-server implementation..

type

boolean

example

{
  services.electrumx.enable = true;
}

default

{
  services.electrumx.enable = false;
}

services.electrumx.package

The package providing electrumx.

type

package

default

{
  services.electrumx.package = "pkgs.electrumx";
}

services.electrumx.coin

Must be a NAME from one of the Coin classes in https://github.com/spesmilo/electrumx/blob/master/electrumx/lib/coins.py For example, Bitcoin.

type

string

example

{
  services.electrumx.coin = "Bitcoin";
}

default

{
  services.electrumx.coin = "Bitcoin";
}

services.electrumx.daemonUrl

A list of daemon URLs (ex. Bitcoin Core RPC). If more than one is provided ElectrumX will initially connect to the first, and failover to subsequent ones round-robin style if one stops working.

The leading http:// is optional, as is the trailing slash. The :port part is also optional and will default to the standard RPC port for COIN and NET if omitted.

type

list of string

example

{
  services.electrumx.daemonUrl = "[ 'username:password@localhost:8332' 'https://username:password@somebtcnode.com:8332' ]";
}

default

{
  services.electrumx.daemonUrl = [];
}

services.electrumx.dbDirectory

The path to the database directory.

type

string

example

{
  services.electrumx.dbDirectory = "/var/lib/electrumx";
}

default

{
  services.electrumx.dbDirectory = "/var/lib/electrumx";
}

services.electrumx.eventLoopPolicy

The name of an event loop policy to replace the default asyncio policy.

type

one of "asyncio", "uvloop"

default

{
  services.electrumx.eventLoopPolicy = "asyncio";
}

services.electrumx.group

The group as which to run electrumx.

type

string

default

{
  services.electrumx.group = "electrumx";
}

services.electrumx.net

Must be a NET from one of the Coin classes in https://github.com/spesmilo/electrumx/blob/master/electrumx/lib/coins.py. Defaults to mainnet.

type

string

example

{
  services.electrumx.net = "mainnet";
}

default

{
  services.electrumx.net = "mainnet";
}

services.electrumx.peer.announce

When true, ElectrumX will announce itself to peers.

If peer discovery is off this environment variable has no effect, because ElectrumX only announces itself to peers when doing peer discovery if it notices it is not present in the peer’s returned list.

type

boolean

default

{
  services.electrumx.peer.announce = true;
}

services.electrumx.peer.blacklistUrl

URL to retrieve a list of blacklisted peers. If not set, a coin-specific default is used.

type

string

default

{
  services.electrumx.peer.blacklistUrl = "";
}

services.electrumx.peer.discovery

If on, ElectrumX will occasionally connect to and verify its network of peer servers.

If off, peer discovery is disabled and a hard-coded default list of servers will be read in and served. If set to self then peer discovery is disabled and the server will only return itself in the peers list.

type

one of "on", "off", "self"

example

{
  services.electrumx.peer.discovery = "self";
}

default

{
  services.electrumx.peer.discovery = "on";
}

services.electrumx.peer.tor.enable

Allow/disallow electrumx to use a Tor proxy.

type

boolean

default

{
  services.electrumx.peer.tor.enable = false;
}

services.electrumx.peer.tor.forceProxy

By default peer discovery happens over the clear internet. Enable this to force peer discovery to be done via the proxy. This might be useful if you are running a Tor service exclusively and wish to keep your IP address private.

type

boolean

default

{
  services.electrumx.peer.tor.forceProxy = false;
}

services.electrumx.peer.tor.host

The host where your Tor proxy is running.

type

string

default

{
  services.electrumx.peer.tor.host = "localhost";
}

services.electrumx.peer.tor.port

The port on which the Tor proxy is running.

type

16 bit unsigned integer; between 0 and 65535 (both inclusive)

example

{
  services.electrumx.peer.tor.port = 9051;
}

default

{
  services.electrumx.peer.tor.port = 9050;
}

services.electrumx.reportServices

A list of services ElectrumX will advertize and other servers in the server network (if peer discovery is enabled), and any successful connection.

This must be set correctly, taking account of your network, firewall and router setup, for clients and other servers to see how to connect to your server. If not set or empty, no services are advertized.

type

list of string

example

{
  services.electrumx.reportServices = "[ 'tcp://sv.usebsv.com:50001 'ssl://sv.usebsv.com:50002' ]";
}

default

{
  services.electrumx.reportServices = [];
}

services.electrumx.services

A list of services ElectrumX will accept incoming connections for.

This determines what interfaces and ports the server listens on, so must be set correctly for any connection to the server to succeed. If unset or empty, ElectrumX will not listen for any incoming connections.

type

list of string

example

{
  services.electrumx.services = "[ 'rpc://127.0.0.1:50002 'tcp://myelectrumx.net:50002' ]";
}

default

{
  services.electrumx.services = [
    "rpc://"
  ];
}

services.electrumx.ssl.certfile

The filesystem path to your SSL certificate file.

type

path

example

{
  services.electrumx.ssl.certfile = "/etc/electrumx/server.crt";
}

services.electrumx.ssl.keyfile

The filesystem path to your SSL keu file.

type

path

example

{
  services.electrumx.ssl.keyfile = "/etc/electrumx/server.key";
}

services.electrumx.user

The user as which to run electrumx.

type

string

default

{
  services.electrumx.user = "electrumx";
}