crate2nix 0.13.0

crate2nix generates nix (as in NixOS) build files for rust using cargo.
Documentation
{ self, inputs, lib, ... }: {
  flake.overlays.default = final: prev: {
    crate2nix = prev.callPackage ./default.nix { };
  };

  perSystem =
    { pkgs
    , ...
    }@perSystem: {
      # imports = [
      #   inputs.pre-commit-hooks.flakeModule
      # ];

      config.devshells.default = {
        imports = [
          "${inputs.devshell}/extra/language/c.nix"
          "${inputs.devshell}/extra/language/rust.nix"
        ];

        packages = with pkgs; [
          clippy
          rustc
          rustfmt
        ];

        commands = with pkgs; [
          { package = cargo; category = "rust"; }
        ];

        language.c = {
          libraries = lib.optional pkgs.stdenv.isDarwin pkgs.libiconv;
        };
      };

      config.pre-commit = {
        settings.settings.rust.cargoManifestPath = "${self}/crate2nix/Cargo.toml";

        settings.hooks = {
          # rust
          rustfmt.enable = true;
          # clippy.enable = true;
        };
      };

      config.packages.default = pkgs.callPackage ./default.nix { };
    };
}