### Configuration directory ¶

Optionally you can convert configuration file to the directory layout with `nncp-cfgdir` command. And vice versa too, of course loosing the comment lines. Directory layout can looks like that:

    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

Your `-cfg` and `$NNCPCFG` could point to that directory, instead of `.hjson` file. It will be transparently converted to internal JSON representation. However it can not be encrypted with the `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 `prv` are created with 600 permissions, instead of the default 666.