Where / How does the Mix environment variable get set?

It is not 100% equivalent and one needs to know the differences when using the windows version:

$ echo %MIX_ENV%
%MIX_ENV%

$ set MIX_ENV=test && mix deps.get
Running dependency resolution...
All dependencies up to date

$ echo %MIX_ENV%
test

Linux:

$ echo $MIX_ENV

$ MIX_ENV=test mix deps.get
Running dependency resolution...
All dependencies up to date

$ echo $MIX_ENV

As you can see, in linux the value of MIX_ENV is only overwritten for that single command and recovered afterwards, while the windows version changes the value permanently.