{ inputs, config, pkgs, nameSuffix ? "", packageSet, features ? "" }: let craneLib = (inputs.crane.mkLib pkgs).overrideToolchain (p: packageSet p); src = craneLib.cleanCargoSource ./..; commonArgs = { inherit src; strictDeps = true; cargoExtraArgs = features; buildInput = [ ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; }; cargoArtifacts = craneLib.buildDepsOnly commonArgs; rempl = craneLib.buildPackage (commonArgs // { inherit cargoArtifacts; }); in { "rempl${nameSuffix}" = rempl; "rempl${nameSuffix}-clippy" = craneLib.cargoClippy (commonArgs // { inherit cargoArtifacts; cargoClippyExtraArgs = "${features} -- --deny warnings"; }); "rempl${nameSuffix}-docs" = craneLib.cargoDoc (commonArgs // { inherit cargoArtifacts; }); "rempl${nameSuffix}-fmt" = craneLib.cargoFmt { inherit src; }; "rempl${nameSuffix}-audit" = craneLib.cargoAudit { inherit src; inherit (inputs) advisory-db; }; "rempl${nameSuffix}-deny" = craneLib.cargoDeny { inherit src; }; "rempl${nameSuffix}-nextest" = craneLib.cargoNextest (commonArgs // { inherit cargoArtifacts; partitions = 1; partitionType = "count"; }); }