Q:

A desktop environment completely editable through config files?

Is there a desktop environment in which I can modify all settings completely through config file(s)? And then load them on a new system? I'm currently using Manjaro with KDE, and I really like my setup. I use a dark theme and I've defined a number of custom keybindings. 
I use several different computers, and I'm also constantly installing new OS's on various machines. Getting my desktop setup to my liking via the point-and-click settings/preferences repeatedly is borderline unbearable to me, but I like consistency. What I would like to do is version control the desktop environment config file(s) with git and then simply push/pull changes. I do this with my .rc files and I like it. If I break something I can simply revert back to a previous version.
I realize that this might not be possible since there are multiple moving parts involved (e.g. a window manager, display manager, others? etc.), and it might not be possible with every desktop environment. If possible, I'd like this to work with KDE, but beggars can't be choosers.

A:

What I would like to do is version control the desktop environment config file(s) with git and then simply push/pull changes.

All Linux desktop environments (DEs) that I know of store their configurations in files, so choice of DE is not critical for this.
On balance though, this ain't such a great idea, because a lot of default settings are going to end up in there. Thus the files will get polluted and difficult to edit/merge by hand, largely defeating the purpose of using version control. You might as well just tar up the configuration directory.
KDE, for instance, stores settings in ~/.config, and configuration is managed through many different files like plasmarc, plasmashellrc, kglobalshortcutsrc (just to name a few). As you install programs, some configurations, such as those of chromium and syncthing,  will be stored in ~/.config as well, and these settings will update automatically though you will likely not want to save these. You could use a .gitignore but this will become onerously tedious as you will constantly have to add new files/directories to this, and it will be difficult to tell what has been modified by you vs. automatically.
The usual approach to this kind of thing is to find out what command-line tool is used to set settings in the DE (most of them should support this). Then you write a script that invokes this command to set all the settings, and version control that script. This is what I do (with the xfce4 desktop environment, though a lot of others support command-line configuration as well; I don't know about KDE specifically, but GNOME does for sure).

