diff options
author | viric <viric@viric.name> | 2015-04-25 15:41:34 +0200 |
---|---|---|
committer | viric <viric@viric.name> | 2015-04-25 15:41:34 +0200 |
commit | dcdd9487ec9ed2c785ac34730b9d3e3bea971afe (patch) | |
tree | f7356851b048059f9e9ba5c51f4b428ee4a1ed58 | |
parent | 35910404681a3812472d4463128b6adbeac9e0aa (diff) | |
parent | 34f1c39fe06d82936c492f62da1cd89b4d9e2553 (diff) | |
download | nixpkgs-dcdd9487ec9ed2c785ac34730b9d3e3bea971afe.tar nixpkgs-dcdd9487ec9ed2c785ac34730b9d3e3bea971afe.tar.gz nixpkgs-dcdd9487ec9ed2c785ac34730b9d3e3bea971afe.tar.bz2 nixpkgs-dcdd9487ec9ed2c785ac34730b9d3e3bea971afe.tar.lz nixpkgs-dcdd9487ec9ed2c785ac34730b9d3e3bea971afe.tar.xz nixpkgs-dcdd9487ec9ed2c785ac34730b9d3e3bea971afe.tar.zst nixpkgs-dcdd9487ec9ed2c785ac34730b9d3e3bea971afe.zip |
Merge pull request #7394 from ehmry/cjdns
nixos: fix cjdns json config
-rw-r--r-- | nixos/modules/services/networking/cjdns.nix | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix index be0acb27324..f4063a3406f 100644 --- a/nixos/modules/services/networking/cjdns.nix +++ b/nixos/modules/services/networking/cjdns.nix @@ -44,6 +44,9 @@ let }) else ""; + parseModules = x: + x // { connectTo = mapAttrs (name: value: { inherit (value) password publicKey; }) x.connectTo; }; + # would be nice to merge 'cfg' with a //, # but the json nesting is wacky. cjdrouteConf = builtins.toJSON ( { @@ -53,8 +56,8 @@ let }; authorizedPasswords = map (p: { password = p; }) cfg.authorizedPasswords; interfaces = { - ETHInterface = if (cfg.ETHInterface.bind != "") then [ cfg.ETHInterface ] else [ ]; - UDPInterface = if (cfg.UDPInterface.bind != "") then [ cfg.UDPInterface ] else [ ]; + ETHInterface = if (cfg.ETHInterface.bind != "") then [ (parseModules cfg.ETHInterface) ] else [ ]; + UDPInterface = if (cfg.UDPInterface.bind != "") then [ (parseModules cfg.UDPInterface) ] else [ ]; }; privateKey = "@CJDNS_PRIVATE_KEY@"; @@ -151,12 +154,14 @@ in ETHInterface = { bind = mkOption { - default = ""; - example = "eth0"; - description = '' - Bind to this device for native ethernet operation. - ''; - }; + default = ""; + example = "eth0"; + description = + '' + Bind to this device for native ethernet operation. + <literal>all</literal> is a pseudo-name which will try to connect to all devices. + ''; + }; beacon = mkOption { type = types.int; |