nixos/mycelium: allow specifying extra args to mycelium

This commit is contained in:
r-vdp 2024-03-29 13:36:13 +01:00
parent ed8d50fbfc
commit b9fc0a8f67
No known key found for this signature in database

View File

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }:
{ config, pkgs, lib, utils, ... }:
let
cfg = config.services.mycelium;
@ -46,6 +46,15 @@ in
Adds the hosted peers from https://github.com/threefoldtech/mycelium#hosted-public-nodes.
'';
};
extraArgs = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
description = ''
Extra command-line arguments to pass to mycelium.
See `mycelium --help` for all available options.
'';
};
};
config = lib.mkIf cfg.enable {
networking.firewall.allowedTCPPorts = lib.optionals cfg.openFirewall [ 9651 ];
@ -87,6 +96,7 @@ in
)
"--tun-name"
"mycelium"
"${utils.escapeSystemdExecArgs cfg.extraArgs}"
] ++
(lib.optional (cfg.addHostedPublicNodes || cfg.peers != [ ]) "--peers")
++ cfg.peers ++ (lib.optionals cfg.addHostedPublicNodes [
@ -130,4 +140,3 @@ in
maintainers = with lib.maintainers; [ flokli lassulus ];
};
}