Oh yep, they are declarative, and that's what we've tried to implement with /system.yaml. pacman hooks and grub configs can be defined through /system.yaml (through a combination of the packages and commands arrays), but Plasma config is per-user and so wouldn't be possible to declare unfortunately :( you can declare GNOME config though, fwiw