@sschaef I've already reimplemented most of sbt-idea's functions in my extension.
I guess that to solve the problem with configuration you could mix both approaches. That's how we do in Intellij Scala plugin. We created SBT plugin for extra settings (sbt-ide-settings), like what projects to skip or what directories to exclude. This plugin contains setting keys only, no real logic. When project is being imported we search for these keys and if they're present read them and perform appropriate actions.