Make `nimble install nimble` reproducible and robust
Currently nimble has a `#head` dependency w.r.t. the compiler. This has a few issues:

- `nimble install nimble` is not reproducible, i.e., it is unclear which nimble versions require which version of the compiler.
- `nimble install nimble` (without having nimble installed already) can break at any time with an upstream change in compiler.
- `nimble install nimble` (with having nimble installed already) updates nimble, but does not seem to update the compiler dependency as well, i.e., it can break nimble because it now uses functionality which is not yet available in the `compiler#head` version in `pkgs`.
- The `compiler#head` installed in `pkgs` can become incompatible with the actually installed Nim compiler.

I'm wondering if all these issues could be avoided by just depending on the `compiler` module which actually comes with the Nim compiler instead of installing it as a redundant (and possible inconsistent) installation in `pkgs`.