From b9fc0a8f677f342bc6358b0ea7bdd4b7785eb004 Mon Sep 17 00:00:00 2001 From: r-vdp Date: Fri, 29 Mar 2024 13:36:13 +0100 Subject: [PATCH] nixos/mycelium: allow specifying extra args to mycelium --- nixos/modules/services/networking/mycelium.nix | 13 +++++++++++-- 1 file 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 ]; }; } -