--- /dev/null
+@node 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}.
+
+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.