
Format all Nix files using the officially approved formatter,
making the CI check introduced in the previous commit succeed:
nix-build ci -A fmt.check
This is the next step of the of the [implementation](https://github.com/NixOS/nixfmt/issues/153)
of the accepted [RFC 166](https://github.com/NixOS/rfcs/pull/166).
This commit will lead to merge conflicts for a number of PRs,
up to an estimated ~1100 (~33%) among the PRs with activity in the past 2
months, but that should be lower than what it would be without the previous
[partial treewide format](https://github.com/NixOS/nixpkgs/pull/322537).
Merge conflicts caused by this commit can now automatically be resolved while rebasing using the
[auto-rebase script](8616af08d9/maintainers/scripts/auto-rebase
).
If you run into any problems regarding any of this, please reach out to the
[formatting team](https://nixos.org/community/teams/formatting/) by
pinging @NixOS/nix-formatting.
94 lines
3.2 KiB
Nix
94 lines
3.2 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
options,
|
|
...
|
|
}:
|
|
{
|
|
imports = [ (import ./common.nix "bank") ];
|
|
|
|
options.services.libeufin.bank = {
|
|
initialAccounts = lib.mkOption {
|
|
type = lib.types.listOf lib.types.attrs;
|
|
description = ''
|
|
Accounts to enable before the bank service starts.
|
|
|
|
This is mainly needed for the nexus currency conversion
|
|
since the exchange's bank account is expected to be already
|
|
registered.
|
|
|
|
Don't forget to change the account passwords afterwards.
|
|
'';
|
|
default = [ ];
|
|
};
|
|
|
|
settings = lib.mkOption {
|
|
description = ''
|
|
Configuration options for the libeufin bank system config file.
|
|
|
|
For a list of all possible options, please see the man page [`libeufin-bank.conf(5)`](https://docs.taler.net/manpages/libeufin-bank.conf.5.html)
|
|
'';
|
|
type = lib.types.submodule {
|
|
inherit (options.services.libeufin.settings.type.nestedTypes) freeformType;
|
|
options = {
|
|
libeufin-bank = {
|
|
CURRENCY = lib.mkOption {
|
|
type = lib.types.str;
|
|
description = ''
|
|
The currency under which the libeufin-bank should operate.
|
|
|
|
This defaults to the GNU taler module's currency for convenience
|
|
but if you run libeufin-bank separately from taler, you must set
|
|
this yourself.
|
|
'';
|
|
};
|
|
PORT = lib.mkOption {
|
|
type = lib.types.port;
|
|
default = 8082;
|
|
description = ''
|
|
The port on which libeufin-bank should listen.
|
|
'';
|
|
};
|
|
SUGGESTED_WITHDRAWAL_EXCHANGE = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "https://exchange.demo.taler.net/";
|
|
description = ''
|
|
Exchange that is suggested to wallets when withdrawing.
|
|
|
|
Note that, in order for withdrawals to work, your libeufin-bank
|
|
must be able to communicate with and send money etc. to the bank
|
|
at which the exchange used for withdrawals has its bank account.
|
|
|
|
If you also have your own bank and taler exchange network, you
|
|
probably want to set one of your exchange's url here instead of
|
|
the demo exchange.
|
|
|
|
This setting must always be set in order for the Android app to
|
|
not crash during the withdrawal process but the exchange to be
|
|
used can always be changed in the app.
|
|
'';
|
|
};
|
|
};
|
|
libeufin-bankdb-postgres = {
|
|
CONFIG = lib.mkOption {
|
|
type = lib.types.str;
|
|
description = ''
|
|
The database connection string for the libeufin-bank database.
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
config = {
|
|
services.libeufin.bank.settings.libeufin-bank.CURRENCY = lib.mkIf (
|
|
config.services.taler.enable && (config.services.taler.settings.taler ? CURRENCY)
|
|
) config.services.taler.settings.taler.CURRENCY;
|
|
|
|
services.libeufin.bank.settings.libeufin-bankdb-postgres.CONFIG =
|
|
lib.mkIf config.services.libeufin.bank.createLocalDatabase "postgresql:///libeufin-bank";
|
|
};
|
|
}
|