In recent times we’ve struggled with the fact configuring the core snap may only be done after the core snap itself is installed, which on a classic system may be delayed until the first snap is installed. That becomes an issue because unlike every other snap, we cannot do “snap set core [options]” to configure snapd and other system properties behind it until something else in the system has been installed.
For that reason, we’re now planning to special case that by intercepting and taking care of that specific action internally inside snapd. The plan right now is to introduce a new “configure-snapd” task alongside the usual “configure” hook setup that happens inside configstate.Configure.
This should be available in the next release (2.30).