From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail2.stargrave.org; dkim=none X-Greylist: delayed 1499 seconds by postgrey-1.37 at mail2.stargrave.org; Wed, 13 Mar 2024 02:18:37 MSK Received-SPF: pass (danisch.de: 2a00:1970:709::2212:1a9b is authorized to use 'hadmut@danisch.de' in 'mfrom' identity (mechanism 'ip6:2A00:1970:709::2212:1A9B' matched)) receiver=mail2.stargrave.org; identity=mailfrom; envelope-from="hadmut@danisch.de"; helo=mail.rackland.de; client-ip="2a00:1970:709::2212:1a9b" Received: from mail.rackland.de (mail.rackland.de [IPv6:2a00:1970:709::2212:1a9b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.stargrave.org (Postfix) with ESMTPS id 471EC4867 for ; Wed, 13 Mar 2024 02:18:37 +0300 (MSK) Received: from [192.168.192.204] (213-106-237.netrunf.cytanet.com.cy [213.7.106.237]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) by mail.rackland.de (Postfix) with ESMTPSA id C250C605A5 for ; Tue, 12 Mar 2024 23:53:01 +0100 (CET) Content-Type: multipart/alternative; boundary="------------0zE330I6Nzr39E7jXmt8zZ6m" Message-ID: <68236c0d-0400-4633-bec9-da06f212a165@danisch.de> Date: Wed, 13 Mar 2024 00:53:00 +0200 List-Id: "NNCP announcements, patches, questions and bugreports" List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: List-Archive: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: nncp-devel@lists.cypherpunks.ru Content-Language: en-US From: Hadmut Danisch Subject: hjson file format This is a multi-part message in MIME format. --------------0zE330I6Nzr39E7jXmt8zZ6m Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, just a question and proposal: I was preparing to try nncp on several machines, but found, that the hjson file format for /etc/nncp.hjson cannot easily distributed with automatic installation tools like ansible or puppet, because * it contains both public and secret data, and thus cannot be distributed as one file without modification, * it cannot be generated (easily) on the machine with common tools (to compose public and secret data into a single file), since it is not compatible to json and virtually no tool supports hjson. I therefore would like to make two proposals: 1. Either split the secrect parts (the self-key) and the public parts (shared with others) into two distinct files, to allow easy distribution and update of nncp.hjson or 2. alternatively allow use of either YAML file format, because YAML is designed to be easy human-readible and easy human-editable, but in contrast to hjson widely used and very well supported by a huge number of tools and programming library. In my eyes, YAML would be a better choice, since it also fulfills nncp's requirements, but it is even easier to read and edit ( no braces needed), and there's lot of tools to compose. And, YAML is a common standard for configuration files. If not YAML, then regular JSON, because there's tools for it (like jq). with best regards Hadmut --------------0zE330I6Nzr39E7jXmt8zZ6m Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Hi,

just a question and proposal:


I was preparing to try nncp on several machines, but found, that the hjson file format for /etc/nncp.hjson cannot easily distributed with automatic installation tools like ansible or puppet, because


  • it contains both public and secret data, and thus cannot be distributed as one file without modification,

  • it cannot be generated (easily) on the machine with common tools (to compose public and secret data into a single file), since it is not compatible to json and virtually no tool supports hjson.


I therefore would like to make two proposals:


  1. Either split the secrect parts (the self-key) and the public parts (shared with others) into two distinct files, to allow easy distribution and update of nncp.hjson or

  2. alternatively allow use of either YAML file format, because YAML is designed to be easy human-readible and easy human-editable, but in contrast to hjson widely used and very well supported by a huge number of tools and programming library. In my eyes, YAML would be a better choice, since it also fulfills nncp's requirements, but it is even easier to read and edit ( no braces needed), and there's lot of tools to compose.

    And, YAML is a common standard for configuration files.

    If not YAML, then regular JSON, because there's tools for it (like jq).


with best regards

Hadmut




--------------0zE330I6Nzr39E7jXmt8zZ6m-- From mboxrd@z Thu Jan 1 00:00:00 1970 DKIM-Signature: a=ed25519-sha256; bh=gpsS6KKvWGu1MothYSTFvhPtAtkdgEVG6OzjNRDgk70=; c=simple/simple; d=stargrave.org; h=Date:From:To:Subject:References:In-Reply-To; q=dns/txt; s=202401; t=1710311526; v=1; b=LCjnXaW1kmXNVHiIwCSvK/Bfn3/uJHg7FJro3YekNbwUmUTp/yFam/K4OBPZgU8UTfXYeINB S+jUdD5R975lAg== Received: by mail2.stargrave.org (Postfix, from userid 1001) id 1C2064A60; Wed, 13 Mar 2024 09:32:06 +0300 (MSK) Received: by stargrave.org (Postfix, from userid 1001) id 3588E59210; Wed, 13 Mar 2024 09:32:04 +0300 (MSK) Date: Wed, 13 Mar 2024 09:31:14 +0300 From: Sergey Matveev To: nncp-devel@lists.cypherpunks.ru Subject: Re: hjson file format Message-ID: Mail-Followup-To: nncp-devel@lists.cypherpunks.ru References: <68236c0d-0400-4633-bec9-da06f212a165@danisch.de> List-Id: "NNCP announcements, patches, questions and bugreports" List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: List-Archive: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="krfBZu6wrA6MZoBC" Content-Disposition: inline In-Reply-To: <68236c0d-0400-4633-bec9-da06f212a165@danisch.de> User-Agent: Mutt/2.2.13 GnuPG/2.4.5 Vim/9.1 FreeBSD/13.2-RELEASE (amd64) OpenPGP: id=CB8205632107AD8A; url=http://openpgpkey.stargrave.org/.well-known/openpgpkey/stargrave.org/hu/s8kd45yyt8ymu6uttefkjkngyagsui5x.asc --krfBZu6wrA6MZoBC Content-Type: text/plain; protected-headers=v1; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Date: Wed, 13 Mar 2024 09:31:14 +0300 From: Sergey Matveev To: nncp-devel@lists.cypherpunks.ru Subject: Re: hjson file format Greetings! *** Hadmut Danisch [2024-03-13 00:53]: >2. alternatively allow use of either YAML file format, because YAML is >designed to be easy human-readible and easy human-editable Absolutely not. Really, honestly, did you try using it? I dealt with it for years in various projects and completely confident that it is the worst format in terms of friendliness to human. I saw numerous times how people (including me) just can not interpret and understand what they see on the screen: is it a list of dictionaries, or vice versa, and similar kind of questions arose. Sorry, but YAML is just insanely complex to read and interpret by human, because of his rich set of expressions. * well-known "problem with Norway" countries: - GB - IE - FR - DE - NO * just a version: python: 3.5.3 postgres: 9.3 * just a surname: first name: Christopher surname: Null * just a fear how all of that could be interpreted: server_config: port_mapping: # Expose only ssh and http to the public internet. - 22:22 - 80:80 - 443:443 serve: - /robots.txt - /favicon.ico - *.html - *.png - !.git # Do not expose our Git repository to the entire world. flush_cache: on: [push, memory_pressure] priority: background * here is bet game: ipv4-address: 192.0.2.16 ipv6-address: 2001:db8::210 I used YAML in NNCP and several our of my personal projects, because of its ability to use templates and DRY your configuration file. But no, it is unusable because of those complexities with rich interpretation and abilities to expression yourself. I met too often how I and other people just were not able to tell what is encoded in YAML. In JSON you clearly see that "{}" gives your a dictionary, "[]" a list, '""' is about strings, nothing more. I think that YAML library's source code size was bigger than the whole NNCP project. And not all libraries support all set of features (equally) -- I saw that some of them did not support templates/references and one of the YAML's killer-feature is lost. And there are many revisions of YAML format itself. https://yaml.org/spec/1.2.2/ -- sorry, but that is just pure insanity to call that amount of text needed to be read by human as friendly to him. And without reading all of that: I will shoot myself in the foot. I also played with TOML format in NNCP. Do not remember did I leave the commit with it in the source code tree. It looked much more easier and simpler, but: [[foo.bar]] baz =3D 123 [[foo.bar]] abc =3D 123 becomes: { "foo": { "bar": [ {"baz": 123 }, {"abc": 123 } ] } } that is not-trivial to interpret in my opinion. Moreover those "[[foo.XXX]]" can be distributed across the whole configuration file. It is easy to deal by machine, but slightly more complex structures would be impossible for humans to conveniently create. Simple structures/configs are ok in TOML, but deeply nested like in NNCP were just barely readable. Maybe that is just because we are used to see all those "{}", "[]" in languages like Python and in widespread JSON and it is matter of taste? With TOML -- maybe. But YAML is just a no-no beast of complexity. For safer YAML usage there is Strict YAML subset. Also you can just wrap everything in quotes, to assure that it will be interpreted like a string. But here you would make some kind of JSON out of YAML already. >And, YAML is a common standard for configuration files. Popularity is pretty bad measurement. Microsoft Windows and JavaScript can be treated like standard (de-facto, by default) OS and programming language. Even not talking about systemd and Docker. >If not YAML, then regular JSON, because there's tools for it (like jq). Exactly that is why I use Hjson: it is interoperable with all JSON-aware tools. Its libraries are designed to convert it to/from JSON and then using ordinary JSON tools. http://www.nncpgo.org/Configuration.html contains a note, that Hjson can be trivially converted to JSON. That is why NNCP includes third-party hjson-cli utility for that purpose. Moreover, JSON is literally a valid subset of Hjson, so you can use it directly without any conversion. Anyway, none of those formats are truly convenient to be processed by machine. Once I started to write integration tests for NNCP and even with JSON it is pretty cumbersome to write all those *jq commands to generate a JSON file with multiple nested structures. It is possible, without any doubts, but not so easy, doing it with *jq utilities in shell. That is why I added possibility to use directory layout for the whole configuration: http://www.nncpgo.org/Configuration-directory.html Basically, each dictionary becomes a directory, each key is a filename, its contents is the value. --=20 Sergey Matveev (http://www.stargrave.org/) OpenPGP: 12AD 3268 9C66 0D42 6967 FD75 CB82 0563 2107 AD8A --krfBZu6wrA6MZoBC Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTbL/jtRAp+lJhvt3bSI36ECQhstwUCZfFIMgAKCRDSI36ECQhs t3t2AQCr84lFXUWHwPocE8Hkabz77DeLyJGFwa0e/HEFotr41QD9FPbVarjlB9aL 2va62/2ZQzGuxOWXbV2UQhY66U9SXgs= =Ltcy -----END PGP SIGNATURE----- --krfBZu6wrA6MZoBC-- From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail2.stargrave.org; dkim=none X-Greylist: delayed 67258 seconds by postgrey-1.37 at mail2.stargrave.org; Wed, 13 Mar 2024 20:34:42 MSK Received-SPF: pass (danisch.de: 212.86.200.188 is authorized to use 'hadmut@danisch.de' in 'mfrom' identity (mechanism 'ip4:212.86.200.188' matched)) receiver=mail2.stargrave.org; identity=mailfrom; envelope-from="hadmut@danisch.de"; helo=mail.rackland.de; client-ip=212.86.200.188 Received: from mail.rackland.de (mail.rackland.de [212.86.200.188]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.stargrave.org (Postfix) with ESMTPS id 2B6C7508D for ; Wed, 13 Mar 2024 20:34:42 +0300 (MSK) Received: from [192.168.192.204] (213-106-237.netrunf.cytanet.com.cy [213.7.106.237]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) by mail.rackland.de (Postfix) with ESMTPSA id B172D60651 for ; Wed, 13 Mar 2024 18:34:02 +0100 (CET) Content-Type: multipart/alternative; boundary="------------nTqZQx0NF0JlO00sUbOH6b0W" Message-ID: Date: Wed, 13 Mar 2024 19:34:00 +0200 List-Id: "NNCP announcements, patches, questions and bugreports" List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: List-Archive: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: hjson file format To: nncp-devel@lists.cypherpunks.ru References: <68236c0d-0400-4633-bec9-da06f212a165@danisch.de> Content-Language: en-US From: Hadmut Danisch In-Reply-To: This is a multi-part message in MIME format. --------------nTqZQx0NF0JlO00sUbOH6b0W Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 13.03.24 08:31, Sergey Matveev wrote: > Really, honestly, did you try using it? I'm intensively using YAML for more then a decade in plenty of applications.  As I mentioned, I'm using puppet (which stores all data in YAML) and ansible (which stores just everything in YAML), furthermore tools like cloud-init or CoreOS, and heaps of own software, all using YAML. But that's not the point. Was just a proposal. > Exactly that is why I use Hjson: it is interoperable with all JSON-aware > tools. Its libraries are designed to convert it to/from JSON and then > using ordinary JSON tools.http://www.nncpgo.org/Configuration.html > contains a note, that Hjson can be trivially converted to JSON. That is > why NNCP includes third-party hjson-cli utility for that purpose. > Moreover, JSON is literally a valid subset of Hjson, so you can use it > directly without any conversion. > > Anyway, none of those formats are truly convenient to be processed by > machine. Once I started to write integration tests for NNCP and even > with JSON it is pretty cumbersome to write all those *jq commands to > generate a JSON file with multiple nested structures. It is possible, > without any doubts, but not so easy, doing it with *jq utilities in > shell. That is why I added possibility to use directory layout for the > whole configuration:http://www.nncpgo.org/Configuration-directory.html > Basically, each dictionary becomes a directory, each key is a filename, > its contents is the value. > Nice, but misses the question. Which still leaves the question open: What is the intended clean way (without workarounds) to distribute the list of neighbors and their public keys, while on the same time keeping the secrets local on the machine,  if they are both in the same file, but there is no tool to selectively modify parts of the file. regards Hadmut --------------nTqZQx0NF0JlO00sUbOH6b0W Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit


On 13.03.24 08:31, Sergey Matveev wrote:
Really, honestly, did you try using it?

I'm intensively using YAML for more then a decade in plenty of applications.  As I mentioned, I'm using puppet (which stores all data in YAML) and ansible (which stores just everything in YAML), furthermore tools like cloud-init or CoreOS, and heaps of own software, all using YAML.


But that's not the point. Was just a proposal.




Exactly that is why I use Hjson: it is interoperable with all JSON-aware
tools. Its libraries are designed to convert it to/from JSON and then
using ordinary JSON tools. http://www.nncpgo.org/Configuration.html
contains a note, that Hjson can be trivially converted to JSON. That is
why NNCP includes third-party hjson-cli utility for that purpose.
Moreover, JSON is literally a valid subset of Hjson, so you can use it
directly without any conversion.

Anyway, none of those formats are truly convenient to be processed by
machine. Once I started to write integration tests for NNCP and even
with JSON it is pretty cumbersome to write all those *jq commands to
generate a JSON file with multiple nested structures. It is possible,
without any doubts, but not so easy, doing it with *jq utilities in
shell. That is why I added possibility to use directory layout for the
whole configuration: http://www.nncpgo.org/Configuration-directory.html
Basically, each dictionary becomes a directory, each key is a filename,
its contents is the value.

Nice, but misses the question.

Which still leaves the question open: What is the intended clean way (without workarounds) to distribute the list of neighbors and their public keys, while on the same time keeping the secrets local on the machine,  if they are both in the same file, but there is no tool to selectively modify parts of the file.


regards

Hadmut


--------------nTqZQx0NF0JlO00sUbOH6b0W-- From mboxrd@z Thu Jan 1 00:00:00 1970 DKIM-Signature: a=ed25519-sha256; bh=lrQiETDpkJH8hTWL7JvSMenAKz77zuqiFHak7FfMOhU=; c=simple/simple; d=stargrave.org; h=Date:From:To:Subject:References:In-Reply-To; q=dns/txt; s=202401; t=1710351592; v=1; b=yKJ9j4Uk7RAfK1RA1MkQlqxdQrlHkYYDAKBU6lr+Bqgf0+2RDUbLgmhrcn2DQbq7La5UHO1e CcZfm9aGCXF4Aw== Received: by mail2.stargrave.org (Postfix, from userid 1001) id 0FD8D510C; Wed, 13 Mar 2024 20:39:52 +0300 (MSK) Received: by stargrave.org (Postfix, from userid 1001) id 3682559365; Wed, 13 Mar 2024 20:39:50 +0300 (MSK) Date: Wed, 13 Mar 2024 20:39:37 +0300 From: Sergey Matveev To: nncp-devel@lists.cypherpunks.ru Subject: Re: hjson file format Message-ID: Mail-Followup-To: nncp-devel@lists.cypherpunks.ru References: <68236c0d-0400-4633-bec9-da06f212a165@danisch.de> List-Id: "NNCP announcements, patches, questions and bugreports" List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: List-Archive: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="qDVnv2fJJiwF42RB" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/2.2.13 GnuPG/2.4.5 Vim/9.1 FreeBSD/13.2-RELEASE (amd64) OpenPGP: id=CB8205632107AD8A; url=http://openpgpkey.stargrave.org/.well-known/openpgpkey/stargrave.org/hu/s8kd45yyt8ymu6uttefkjkngyagsui5x.asc --qDVnv2fJJiwF42RB Content-Type: text/plain; protected-headers=v1; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Date: Wed, 13 Mar 2024 20:39:37 +0300 From: Sergey Matveev To: nncp-devel@lists.cypherpunks.ru Subject: Re: hjson file format By the way, one of NNCP users send me a (personal) message: >NixOS supports merging of configuration values and files using nncp-cfgdir= =2E The same technique might be useful for Ansible and Puppet. >https://nixos.wiki/wiki/NNCP >https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/programs/nncp.n= ix#L72 So nncp-cfgdir is already used by someone more actively than me :-) --=20 Sergey Matveev (http://www.stargrave.org/) OpenPGP: 12AD 3268 9C66 0D42 6967 FD75 CB82 0563 2107 AD8A --qDVnv2fJJiwF42RB Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTbL/jtRAp+lJhvt3bSI36ECQhstwUCZfHk2QAKCRDSI36ECQhs t+08AP4sYypvoG8oAmn7wrgyOd/4KvHTCHMVxqb27WB0JB4DIgEAonIJ+gWY+JtM 6R+iZ1TLZRBfwT8Hywe2p7rCdW5Dpwk= =6DZP -----END PGP SIGNATURE----- --qDVnv2fJJiwF42RB-- From mboxrd@z Thu Jan 1 00:00:00 1970 DKIM-Signature: a=ed25519-sha256; bh=zAnEQClnHAJqjvKQOUNNMMBF3zJ7kFDotH+JuTeeOhs=; c=simple/simple; d=stargrave.org; h=Date:From:To:Subject:References:In-Reply-To; q=dns/txt; s=202401; t=1710351933; v=1; b=uEd4K9suYP6M/GD6EnfWt7FaXhmIxHQDGO4xPt8tRginRgqQEyLQoXy2841BV6yo26U0+stj uXuA5qcgyOpFBw== Received: by mail2.stargrave.org (Postfix, from userid 1001) id 5E5AF5119; Wed, 13 Mar 2024 20:45:33 +0300 (MSK) Received: by stargrave.org (Postfix, from userid 1001) id ACCF759263; Wed, 13 Mar 2024 20:45:32 +0300 (MSK) Date: Wed, 13 Mar 2024 20:45:32 +0300 From: Sergey Matveev To: nncp-devel@lists.cypherpunks.ru Subject: Re: hjson file format Message-ID: Mail-Followup-To: nncp-devel@lists.cypherpunks.ru References: <68236c0d-0400-4633-bec9-da06f212a165@danisch.de> List-Id: "NNCP announcements, patches, questions and bugreports" List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: List-Archive: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="4X2Q5r8FXTeNQVyi" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/2.2.13 GnuPG/2.4.5 Vim/9.1 FreeBSD/13.2-RELEASE (amd64) OpenPGP: id=CB8205632107AD8A; url=http://openpgpkey.stargrave.org/.well-known/openpgpkey/stargrave.org/hu/s8kd45yyt8ymu6uttefkjkngyagsui5x.asc --4X2Q5r8FXTeNQVyi Content-Type: text/plain; protected-headers=v1; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Date: Wed, 13 Mar 2024 20:45:32 +0300 From: Sergey Matveev To: nncp-devel@lists.cypherpunks.ru Subject: Re: hjson file format *** Hadmut Danisch [2024-03-13 19:34]: >Which still leaves the question open: What is the intended clean way >(without workarounds) to distribute the list of neighbors and their public >keys, while on the same time keeping the secrets local on the machine,=A0 = if >they are both in the same file, but there is no tool to selectively modify >parts of the file. Convert that file to directory with nncp-cfgdir and do whatever modifications you wish with ordinary subdirectories/files. Or convert Hjson to JSON and modify it with JSON-aware utilities, if they are appropriate for that task (personally I used only gojq and gjo and not sure they are convenient enough). --=20 Sergey Matveev (http://www.stargrave.org/) OpenPGP: 12AD 3268 9C66 0D42 6967 FD75 CB82 0563 2107 AD8A --4X2Q5r8FXTeNQVyi Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTbL/jtRAp+lJhvt3bSI36ECQhstwUCZfHmPAAKCRDSI36ECQhs t6TBAP9zJZpIRGo0a61f+oYo0q7hA5F+ctsmksDkLaclGCXOnAEA8JDAy7jIZh5M 8ORgKRUjz329yPO/BLgpozXgar+HOgE= =84EQ -----END PGP SIGNATURE----- --4X2Q5r8FXTeNQVyi-- From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail2.stargrave.org; dkim=pass header.d=posteo.net header.i=@posteo.net X-Greylist: delayed 1177 seconds by postgrey-1.37 at mail2.stargrave.org; Thu, 14 Mar 2024 01:13:53 MSK Received-SPF: pass (posteo.net ... posteo.de: 185.67.36.65 is authorized to use 'ehmry@posteo.net' in 'mfrom' identity (mechanism 'ip4:185.67.36.0/23' matched)) receiver=mail2.stargrave.org; identity=mailfrom; envelope-from="ehmry@posteo.net"; helo=mout01.posteo.de; client-ip=185.67.36.65 Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256)) (No client certificate requested) by mail2.stargrave.org (Postfix) with ESMTPS id BB9C14F5A for ; Thu, 14 Mar 2024 01:13:53 +0300 (MSK) Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 37C48240027 for ; Wed, 13 Mar 2024 22:54:07 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1710366848; bh=TZeZufnO5r2D0iSOJsD9t5m7Y2wwx58pKlES6EQbs8o=; h=Date:From:Subject:To:MIME-Version:Message-Id:Content-Type: Content-Transfer-Encoding:From; b=oj3oC4sV9yoFYiMjW6XGpdnbXJzCJsoNIVyvAG3uVxU9llSzpTB59e0yJR73pdfh5 glgVXDVoaENMmIrkm7E2PYfS2JJcySeGtNMPXXvZdKllhk05yY4Y5OxRJUb5N8DvIQ LZYLfR7B9J/hR7e6NwVml5eW/NF7i041OABU/uERIBHHjls69ubdIbBHFyDaXanUQq kjsOpiLLMByJo6GRnP+RzFzXDQk7Dgzzk0unTsIklBvfl5HviUMnJty5kJoHm1WNWw 7pLdA6hbCoWqlGlG6C1oSYj6SnevI6AxSI/vIpqHHcrLoQ52hxFLsELfTYkRsNWcMO 4YUVJgiFfLOXg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Tw4672ltTz9rxN for ; Wed, 13 Mar 2024 22:54:06 +0100 (CET) Date: Wed, 13 Mar 2024 21:54:02 +0000 From: Emery Hemingway Subject: Re: hjson file format To: nncp-devel@lists.cypherpunks.ru References: <68236c0d-0400-4633-bec9-da06f212a165@danisch.de> In-Reply-To: List-Id: "NNCP announcements, patches, questions and bugreports" List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: List-Archive: MIME-Version: 1.0 Message-Id: <1710366782.wjjxllq2ie.astroid@migrant.none> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Yea, that was me not using my mail client correctly. Using nncp-cfgdir is tricky but quite powerful. Excerpts from Sergey Matveev's message of March 13, 2024 5:39 pm: > By the way, one of NNCP users send me a (personal) message: >=20 >>NixOS supports merging of configuration values and files using nncp-cfgdi= r. The same technique might be useful for Ansible and Puppet. >>https://nixos.wiki/wiki/NNCP >>https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/programs/nncp.= nix#L72 >=20 > So nncp-cfgdir is already used by someone more actively than me :-) >=20 > --=20 > Sergey Matveev (http://www.stargrave.org/) > OpenPGP: 12AD 3268 9C66 0D42 6967 FD75 CB82 0563 2107 AD8A >=20