This splits each IDE into its own `.nix` file and refactors all related
build machinery to support this.
Motivations (in order of priority):
- Fixing reviews for update PRs: Currently update PRs get no maintainers
assigned, since the `versions.json` was changed. Due to the way CI
works, packages outside of `by-name` only have their maintainers added
to PRs if the file that contains the derivation (`meta.position`) is
changed.
- Reducing the size of `default.nix` and making the differences &
patches required for each IDE more clear and with that also actually
cutting the code into separately maintainable chunks
- Overall improving readability and code structure
This commit was half-automatically generated by a script I wrote:
https://gist.github.com/theCapypara/2939ff9f83a5f30f1d3dff74d725a9bf
**Note that this commit itself does not cause any rebuilds. This is
important. It is just a refactoring without any functional changes.**