* add(nix): add crate2nix
To have a better experience on ci, due to improved caching
of dependencies. Also organize file hierarchy slightly.
* ci(nix): manually check a default system
Is needed because `nix flake check` accidentally tries to build IFD.