Custom Themes and Icon Packs - Pipe-Runner/dotfiles GitHub Wiki
Gnome tweak tools can pretty much handle all of this, the following needs to be created:
~/.icons~/.themes
Also, for themes, gnome-shell-extension needs to be installed and enabled in the extensions app. Reboot and user themes should be visible.
https://askubuntu.com/questions/545741/why-is-shell-theme-disabled-in-gnome-tweak-tool
