The current crystal binary in nixpkgs complains about not finding pcre
when you try to compile anything with it, so crystal-flake is necessary
to have a working crystal environment under NixOS.
crystal-flake additionally packages crystalline, which is nice since no
one has been able to successfully create a pull request for nixpkgs yet.
Reference: https://github.com/NixOS/nixpkgs/issues/129002
Since all of these files do roughly the same thing (that is, configure
the system in a specific way that a separate file seems necessary), this
should reduce the overall complexity of the project tree.
This is my attempt at putting all modules in one directory to avoid
having to remember whether a module was a part of applications/,
desktop/, or terminal/.