5e40066c7f
The strategy of invoking node2nix inside a derivation (installPhase in this case) does not work, as under NixOS installations there is no network traffic allowed during a derivation build. Hence, we move node2nix outside and rewrite the packaging into the modules. Also switch to callPackage instead of plain imports. This could probably be done on all other imported packages inside of nix-bitcoin-pkgs.nix.
44 lines
1.1 KiB
Nix
44 lines
1.1 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
cfg = config.services.spark-wallet;
|
|
in {
|
|
options.services.spark-wallet = {
|
|
enable = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = ''
|
|
If enabled, the spark-wallet service will be installed.
|
|
'';
|
|
};
|
|
ln-path = mkOption {
|
|
type = types.path;
|
|
default = "/var/lib/clightning";
|
|
description = ''
|
|
"The path of the clightning data directory.";
|
|
'';
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
systemd.services.spark-wallet = {
|
|
description = "Run spark-wallet";
|
|
wantedBy = [ "multi-user.target" ];
|
|
requires = [ "clightning.service" ];
|
|
after = [ "clightning.service" ];
|
|
serviceConfig = {
|
|
ExecStart = "${pkgs.spark-wallet}/bin/spark-wallet --ln-path ${cfg.ln-path} -k -c /secrets/spark-wallet-login";
|
|
User = "clightning";
|
|
Restart = "on-failure";
|
|
RestartSec = "10s";
|
|
PrivateTmp = "true";
|
|
ProtectSystem = "full";
|
|
NoNewPrivileges = "true";
|
|
PrivateDevices = "true";
|
|
};
|
|
};
|
|
};
|
|
}
|