OP's experience is based on Fedora. If you're on Ubuntu, a couple of cautions:<p>1. A fair amount of the OP advice is Wayland-specific -- but Wayland has been disabled by default in Ubuntu 18.04.<p>2. Ubuntu layers its own tweaks on top of GNOME's. See /usr/share/glib-2.0/schemas/com.{ubuntu,canonical}*<p>Those caveats noted, the author's approach to GNOME desktop parallels my own current working solution for Ubuntu, arrived after at after way too many hours in tedious experiment with KDE, XFCE, LXDE, OpenBox, gnome-look.org themes, gconf-editor, dconf-editor, and even gnome-tweak-tool. These approaches all proved to suffer from one or more critical failings:<p>1. Not easily archive/documented, for repetition with later Linux reinstalls.
2. Not easily reviewable/reversible, in case of trouble later.
3. Monolithic or coarse-grained, and introduce infelicities of their own. So then you try to tweak the tweak ... oy vey.
4. Weak documentation, version skew risk, and doubtful developer commitment.
5. Interact badly with other tweaks.
6. Incomplete, as judged by my needs. Tweaks from other sources required, each coming with other variations of [1-5].<p>To remedy failings (1) and (2), with customizations expressible in text, Ansible is a solution for people invested or ready to invest in learning Ansible. Similarly Git, or Quilt.<p>To expose the actions of `dconf`:<p><pre><code> $ strace -f -e trace=network,ipc,process,write dconf ...
$ file $HOME/.config/dconf/user
</code></pre>
To begin to understand some of the dynamics that have shaped GNOME:<p><pre><code> https://www.gnome.org/wp-content/uploads/2017/07/GAR2016-web.pdf
https://news.ycombinator.com/item?id=14945871
https://bugzilla.gnome.org/</code></pre>