Xremap, despite the name, supports both X and Wayland, and can be used to move modifier keys around. Configuration is done with YAML but is otherwise pretty easy. I personally use it for full Emacs keybind emulation.
This might be the first time I've ever seen something productive happen in the Phoronix forums. I love that place. Go to any topic with more than about a dozen posts and it's almost guaranteed to be a flame war. Genuinely one of the funniest places on the Internet.
Check out this one. It took like three posts!
I have done almost the opposite: moving as much configuration as I can into
use-package statements, even for built-in features like dired. You can
(use-package feature-name)
or even (use-package emacs)
in order to customize
the basics. use-package just provides much better organization than any schema
that I have ever been able to come up with on my own.
I think that this is above all else the reason that I use Arch. Arch Linux makes creating packages trivial, basically just wrapping build instructions into a shell script template. Arch handles the rest. The build systems for deb or rpm packages don't come close, and good luck rolling your own flatpak.
This allows me to use pacman for everything outside of my home directory. Pacman is practically the central feature of my computer, and it's wonderful. I'm sure those Nix people can relate, though I guess my method is a bit less robust.