1.9 KiB
1.9 KiB
bisonw options
services.bisonw wraps the Bison Wallet daemon. You can provide either a rendered configuration through services.bisonw.settings or point at an existing file with services.bisonw.configFile.
sops-nix
Render dexc.conf with sops-nix and point the service at it. Example:
{ config, lib, pkgs, ... }:
{
# Define credentials as secrets
sops.secrets."bisonw/rpcpass" = {};
# Render dexc.conf owned by the bisonw service user/group
sops.templates."dexc.conf" = {
owner = config.services.bisonw.user;
group = config.services.bisonw.group;
mode = "0440";
restartUnits = [ "bisonw.service" ];
content = ''
[Application Options]
testnet=1
log=info
webaddr=127.0.0.1:5758
rpclisten=127.0.0.1:5757
rpcuser=user
rpcpass=${config.sops.placeholder."bisonw/rpcpass"}
'';
};
# Ensure bisonw only starts when the config exists
systemd.services.bisonw.unitConfig.ConditionPathExists =
config.sops.templates."dexc.conf".path;
# Point the module to the rendered config
services.bisonw = {
enable = true;
configFile = config.sops.templates."dexc.conf".path;
};
}
Nix Store Configuration
If you do not need to manage secrets, you can render settings directly into the Nix store.
services.bisonw = {
enable = true;
settings = {
testnet = true;
log = "info";
webaddr = "127.0.0.1:5758";
rpclisten = [ "127.0.0.1:5757" "192.168.1.10:5757" ];
};
};
Operator Access
Provides bwctl for the named user and places them in the service group so they can interact with the daemon.
services.bisonw.operator = {
enable = true;
name = "myusername";
};
Data Directory
services.bisonw.dataDirdefaults to/var/lib/bisonw. The service owns and uses this path asHOMEandXDG_DATA_HOME.- The unit runs as the
services.bisonw.user/group(defaultbisonw).