anchor.diff:    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 ( {
  +  cjdrouteConf = builtins.toJSON ( recursiveUpdate {
       admin = {
         bind = cfg.admin.bind;
         password = "@CJDNS_ADMIN_PASSWORD@";
  
positive.code: 
      security = [ { exemptAngel = 1; setuser = "nobody"; } ];
  
    });
  
  in
  
  
negative.code:         if cfg.confFile != null then "${pkg}/bin/cjdroute < ${cfg.confFile}" else
            ''
              source /etc/cjdns.keys
              (cat <<'EOF'
              ${cjdrouteConf}
              EOF
              ) | sed \
                  -e "s/@CJDNS_ADMIN_PASSWORD@/$CJDNS_ADMIN_PASSWORD/g" \
                  -e "s/@CJDNS_PRIVATE_KEY@/$CJDNS_PRIVATE_KEY/g" \
                  | ${pkg}/bin/cjdroute
  