diff options
author | Jörg Thalheim <joerg@thalheim.io> | 2024-01-12 15:35:37 +0100 |
---|---|---|
committer | Jörg Thalheim <joerg@thalheim.io> | 2024-06-21 15:17:45 +0200 |
commit | 09ead1f6ebeacc83cef72a059b1de3756cca7ac0 (patch) | |
tree | 002ebf89b985996465207aec603c2ba2582f7c8c /nixos/modules | |
parent | b8c50e09ae7e9392b91ebf8bd942568e597e2792 (diff) |
nixos/zerotierone: make localConf mergeable
Diffstat (limited to 'nixos/modules')
-rw-r--r-- | nixos/modules/services/networking/zerotierone.nix | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/nixos/modules/services/networking/zerotierone.nix b/nixos/modules/services/networking/zerotierone.nix index 86c1efc629a98..68c04118fdd58 100644 --- a/nixos/modules/services/networking/zerotierone.nix +++ b/nixos/modules/services/networking/zerotierone.nix @@ -4,7 +4,9 @@ with lib; let cfg = config.services.zerotierone; - localConfFile = pkgs.writeText "zt-local.conf" (builtins.toJSON cfg.localConf); + + settingsFormat = pkgs.formats.json {}; + localConfFile = settingsFormat.generate "zt-local.conf" cfg.localConf; localConfFilePath = "/var/lib/zerotier-one/local.conf"; in { @@ -41,7 +43,7 @@ in example = { settings.allowTcpFallbackRelay = false; }; - type = types.nullOr types.attrs; + type = settingsFormat.type; }; config = mkIf cfg.enable { @@ -60,7 +62,7 @@ in chown -R root:root /var/lib/zerotier-one '' + (concatMapStrings (netId: '' touch "/var/lib/zerotier-one/networks.d/${netId}.conf" - '') cfg.joinNetworks) + optionalString (cfg.localConf != null) '' + '') cfg.joinNetworks) + optionalString (cfg.localConf != {}) '' if [ -L "${localConfFilePath}" ] then rm ${localConfFilePath} |