ipgen-cli 1.0.3

A command line tool for generating unique and reproducible IP addresses
{
  inputs = {
    cargo2nix.url = "github:cargo2nix/cargo2nix/release-0.11.0";
    flake-utils.follows = "cargo2nix/flake-utils";
    nixpkgs.follows = "cargo2nix/nixpkgs";
  };

  outputs = inputs:
    with inputs;
    flake-utils.lib.eachDefaultSystem (system:
      let
        pkgs = import nixpkgs {
          inherit system;
          overlays = [ cargo2nix.overlays.default ];
        };

        cargoToml = (builtins.fromTOML (builtins.readFile ./Cargo.toml));

        rustPkgs = pkgs.rustBuilder.makePackageSet {
          rustVersion = "1.61.0";
          packageFun = import ./Cargo.nix;
          extraRustComponents = [ "rustfmt" "clippy" ];

          packageOverrides = pkgs: pkgs.rustBuilder.overrides.all ++ [
            (pkgs.rustBuilder.rustLib.makeOverride {
              name = cargoToml.package.name;
              overrideAttrs = drv: {
                meta.mainProgram = "ipgen";
              };
            })
          ];
        };

      in rec {
        packages = {
          ${cargoToml.package.name} =
            (rustPkgs.workspace.${cargoToml.package.name} { }).bin;
          default = packages.${cargoToml.package.name};
        };
      });
}