NsCDE is a wrapper and a bunch of configurations, scripts and apps around FVWM. FVWM is in my opinion a model of free choice for people who like to have things set up by their own wishes and who are aware what real freedom of choice is. A stunning contrast to policies forced on Linux users in the last decade from the mainstream desktop players.
NsCDE is by default rooted in /opt/NsCDE ($NSCDE_ROOT),
but it can be relocated with only one variable changed in main
wrapper bin/nscde and NsCDE-Main.conf.
It is not using your existing $HOME/.fvwm
but sets $FVWM_USERDIR to $HOME/.NsCDE,
and uses /opt/NsCDE/config as a sources of configuration.
Configuration model is a bit complex, but very flexible: configuration options
are grouped in logical order. Configuration files are names
NsCDE-<group>.conf. For example, NsCDE-Functions.conf
for FVWM functions. Each
configuration file can have two exclusive sources, and one additional. For
example, if user doesn't have $FVWM_USERDIR/NsCDE-Functions.conf, then
$NSCDE_ROOT/config/NsCDE-Functions.conf is read as default. Additionally, if
$FVWM_USERDIR/NsCDE-Functions.local exists, it will be read in addition to
conf file, from wherever it was read. This is intended as a primary mechanism
for customization: If user doesn't need to override and change a lot of
"system" configuration, but just add it's own in addition to existing, local
file is place for such customization (of course, most parts of the existing FVWM
configuration can be overridden or destroyed and recreated even in local files.