In principle you can write a command like this:
conda install \
-c qiime2-staging/label/r2019.4 -c conda-forge -c bioconda -c defaults \
qiime2 q2cli q2-types <and-anything-else>
which will give you the latest everything (without most plugins such as those using bioconductor).
However! Conda may install incompatible versions if you are unlucky and one of our dependencies has just issued a release that breaks something (this happens about monthly). So you should generally be cautious about this (for development/testing this isn’t really a problem).
What we do in our staging environment file is let conda resolve everything (like it does in the above command) and then we run our documentation to make sure it still works which catches issues with incompatible versions (letting us pin in the recipe and try again). This means the environment file won’t be committed unless that particular package resolution is able to pass our tests.
A different option would be to pare down an existing environment file to have only the dependencies you want while preserving the pinning that we already know works (saving you a little bit of time).
As of literally this afternoon, I wrote a script to do just that. It’s probably not ready for prime-time, but if you’d like to try it out, just send me a DM and I can send you that link. This script is able to “remove” packages from an existing installation without impacting versions (or actually uninstalling anything). It is also handy for checking all dependencies recursively of a given package.