{ 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 { }; }; }