@node Configuration directory @cindex configuration directory @section Configuration directory Optionally you can convert configuration file to the directory layout with @ref{nncp-cfgdir} command. And vice versa too, of course loosing the comment lines. Directory layout can looks like that: @example nncp-cfg-dir ├── areas │ ├── home │ │ ├── id │ │ ├── incoming │ │ ├── prv │ │ ├── pub │ │ └── subs │ └── homero │ ├── id │ ├── exec │ │ └── sendmail │ ├── prv │ ├── pub │ └── allow-unknown ├── log ├── mcd-listen ├── neigh │ ├── beta │ │ ├── exchpub │ │ ├── exec │ │ │ └── sendmail │ │ ├── id │ │ ├── incoming │ │ ├── noisepub │ │ ├── signpub │ │ └── via │ ├── gw │ │ ├── addrs │ │ │ ├── lan │ │ │ └── main │ │ ├── calls │ │ │ ├── 0 │ │ │ │ ├── autotoss │ │ │ │ ├── cron │ │ │ │ ├── nice │ │ │ │ └── rxrate │ │ │ ├── 1 │ │ │ │ ├── addr │ │ │ │ ├── autotoss │ │ │ │ ├── cron │ │ │ │ └── onlinedeadline │ │ │ └── 2 │ │ │ ├── addr │ │ │ ├── autotoss │ │ │ ├── cron │ │ │ └── onlinedeadline │ │ ├── exchpub │ │ ├── exec │ │ │ └── sendmail │ │ ├── freq │ │ │ └── chunked │ │ ├── id │ │ ├── incoming │ │ ├── noisepub │ │ └── signpub │ └── self │ ├── exchpub │ ├── exec │ │ ├── appender │ │ ├── sendmail │ │ └── slow │ ├── freq │ │ └── path │ ├── id │ ├── incoming │ ├── noisepub │ └── signpub ├── notify │ ├── file │ │ ├── from │ │ └── to │ └── freq │ ├── from │ └── to ├── self │ ├── exchprv │ ├── exchpub │ ├── id │ ├── noiseprv │ ├── noisepub │ ├── signprv │ └── signpub └── spool @end example Your @option{-cfg} and @env{$NNCPCFG} could point to that directory, instead of @file{.hjson} file. It will be transparently converted to internal JSON representation. However it can not be encrypted with the @ref{nncp-cfgenc}. @cindex private keys That layout should be much more machine friendly and scriptable. Each string parameters is stored as a single line plain text file. String arrays are newline-separated plain text files. Dictionaries are transformed to the subdirectories. Its structure should be self-describing. True booleans are stored as an empty flag-file existence (their absence equals to false). All names starting with "." are skipped. All files ending with @file{prv} are created with 600 permissions, instead of the default 666.