summaryrefslogtreecommitdiffstats
path: root/nixos/modules/services/networking/mycelium.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/modules/services/networking/mycelium.nix')
-rw-r--r--nixos/modules/services/networking/mycelium.nix13
1 files changed, 11 insertions, 2 deletions
diff --git a/nixos/modules/services/networking/mycelium.nix b/nixos/modules/services/networking/mycelium.nix
index 9c4bca7c6861..9487a5daafee 100644
--- a/nixos/modules/services/networking/mycelium.nix
+++ b/nixos/modules/services/networking/mycelium.nix
@@ -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 ];
};
}
-