shvcall 3.10.2

CLI utility to invoke remote SHV RPC calls
Documentation
{
  description = "Rust implementation of headless Silicon Heaven applications";

  outputs = {
    self,
    systems,
    nixpkgs,
  }: let
    inherit (builtins) head match readFile;
    inherit (nixpkgs.lib) genAttrs;
    forSystems = genAttrs (import systems);
    withPkgs = func: forSystems (system: func self.legacyPackages.${system});

    package = {rustPlatform}:
      rustPlatform.buildRustPackage {
        pname = "shvcall-rs";
        version = head (
          match ".*\nversion[ ]*=[ ]*\"([^\"]+)\"\n.*" (readFile ./Cargo.toml)
        );

        src = ./.;
        cargoLock = {
          lockFile = ./Cargo.lock;
        };
        doCheck = true;

        meta = with nixpkgs.lib; {
          description = "CLI utility to invoke remote SHV RPC calls";
          homepage = "https://github.com/silicon-heaven/shvcall-rs/";
          license = licenses.mit;
          mainProgram = "shvcall";
        };
      };
  in {
    overlays.default = final: _: {
      shvcall-rs = final.callPackage package {};
    };

    packages = withPkgs (pkgs: {default = pkgs.shvcall-rs;});

    legacyPackages =
      forSystems (system:
        nixpkgs.legacyPackages.${system}.extend self.overlays.default);

    formatter = withPkgs (pkgs: pkgs.alejandra);
  };
}