* chore: add treewide nix formatting
This allows nix users to format more filetypes than just the `.nix` files. Treefmt-nix is partitioned to a `dev` flake. Refer to the corresponding flake description as to why this was done.
* style: nix fmt
* build: nix caching, sync nix toolchain to rust-toolchain.toml
Nix triggers a full rebuild on any file change. Even for changes on 'non src' relevant files, like e.g. the readme file. This fixes the caching issues, syncs the 'nixified' rust toolchain with the rust-toolchain.toml file, and moves checks and devShells to the development partition.
* chore: add rust-analyzer and rust-src components
Unless the rust-analyzer & rust-src components are installed somewhere else developers will not have a LSP and the rust std docs available. This installs those components for the specified channel, which is especially useful for Nix users.
* chore: remove taplo
Taplo defaults to 2 Spaces, but setting them to 4 doesn't work either for whatever reason. Therefore the removal.
* style: 4 instead of 2 spaces
Reverts the "mistake" by the taplo formatter
* chore: re-add taplo but with 4 spaces
* style: revert unnecessary Cargo.toml formatting
* Major grammar sweep
* Remove extra backtick
* Use more specific terminology for chunk data storage
* Forgor to cargofmt
* Fix typo "thier"
* Fix typo "clousures"
* Try new terminology
* Forgor to cargofmt
* Use "Subchunks" instead of "Heterogeneous" for ChunkBlocks variant
* Fix variable name
* Forgor to change comment
Toolchains in the rust-toolchain.toml file do not actually enforce what toolchains are supported, but specified which toolchains need to be downloaded. This forces each device building the project to download all 4 targets before actually building.