Thanks for your quick reply, Alex. Let me try to explain the use case in a little more detail:
We have our various drivers up as separate subprojects, and we include them as needed as `:local/root` coordinates. We have a `:drivers` alias that includes all of our drivers that we use for various local dev tasks; we don't include them as top-level `:deps` because we build them with a separate process.
Sometimes we do `clj -M:run` (so as to not include our driver subprojects on the classpath), and sometimes we do `clj -M:drivers:run` (so as to include our driver subprojects)... the problem we have is that there's no easy way to prep the subprojects added by the `:drivers` alias short of manually `cd`ing into each of their respective directories and prepping them individually.
The workaround I came up with was to create a dummy `deps.edn` file in a separate directory that contains the same `:local/root` `:extra-deps` as the `:drivers` alias, but under the top level `:deps`. People can `cd` to this directory and run `clj -X:deps prep` there instead of having to do it for each of the driver directories individually. So right now our first-time setup instructions are basically
clj -X:deps prep && cd modules/drivers && clj -X:deps prep
Doing `clj -X:deps` prep twice in two different folders isn't so bad, but doing `clj -X:deps prep :aliases '[:drivers]'` once (and not creating/maintaining the dummy `deps.edn` file) would be a lot nicer.
Arguably we _could_ bundle the files that have to be AOT'ed as separate artifacts, but pushing those to Clojars, or setting up an S3 bucket to serve as a Maven repo or something like that (and setting CI up to update it automatically on change) is not something I really want to do if I don't have to. Plus, it would make tweaking those files locally and testing changes more difficult.
RE affecting other projects on the same machine:
I'm not sure I'm following the reasons why it would make any difference. My understanding is that it ultimately wouldn't be any different from someone manually copying and pasting all the `:deps`/`:extra-deps` from the aliases in question into the top-level `:deps` of the project `deps.edn` and then running `clj -X:deps prep`. (The only difference is that we're potentially prepping more libs than we would have done otherwise; but we're not prepping stuff any differently.)