Your are correct that people are going to want a graphical configuration tool, but this doesn't nesseccary make it DE dependent because of following reasons
- GTK and QT are libraries not tied to a specific DE. Indeed DE's have there preference (KDE -> qt, GNOME -> gtk, XFCE -> gtk, ...) but as far as I know using either of those puts a dependency towards a DE
- If a good design pattern is used (for example the model-view-controller or model-view pattern) it should be relative easy to provide multiple frontends (command line, gtk, qt, ncurses,...) This will take time but can be done in fases: in the beginning for example only command line. If this stabilizes gtk could be added, and so on.
It is possible that DE's save their own settings. The python script '/sbin/keyboard-setup' (available in the package 'keyboard-configuration-helpers'), written by Fabio Erculiani, is an example of what you mean. This script modifies the keymaps configuration file and xorgs configuration (both DE independend), but also the config files of the keyboard layout tools of GNOME, KDE and XFCE (DE dependend).
The question we must ask ourself is if there isn't any overall setting or configuration option that is DE independent and works in each DE. Are the DE specific settings not just wrappers for an underlying system? Do the keyboard layout tools, for example, not only modify xkb settings?
The tool could also include configuration options for Samba, NFS, Users&Groups ... which are definitely DE independent.
I think the hardest parts in creating such a tool would be:
- Extensibilty: It needs to be easy to add an extra 'configuration module'.
- Keeping a clean seperation between the 'model' and the 'view'. Possibly with a 'controller' in between.
- A good knowledge of the possible options for each configuration module. For example a configuration tool for Samba would be hard for me to write. I know how to add a basic share, but I don't know a thing about 'local domain master' and such things.
It won't be easy, but I am also willing to look into it
