Respackopts
Respackopts provides resource packs with config menus
In addition to supporting normal resource- and data packs, it also provides integration with frex/canvas shaders
An example for the frex/canvas integration can be found here
Using Respackopts
Users
You will just need to install Respackopts. A menu button will appear besides all supported resourcepacks.
You can get the latest version here
Developers
Please head over to the mods repository for detailed information on how to use this