eagle 0.2.0

A simple library for creating RPC protocols.
Documentation
{
  inputs = {
    naersk.url = "github:nix-community/naersk/master";
    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
    rust-overlay.url = "github:oxalica/rust-overlay";
    utils.url = "github:numtide/flake-utils";
  };

  outputs = { self, nixpkgs, rust-overlay, utils, naersk }:
    utils.lib.eachDefaultSystem (system:
      let
        pkgs = import nixpkgs { inherit system; };

        naersk-lib = pkgs.callPackage naersk {};
      in
      {
        packages = {
          default = naersk-lib.buildPackage {
            src = ./.;
            doCheck = true;
            mode = "test";
          };
          doc = naersk-lib.buildPackage {
            src = ./.;
            doDoc = true;
            mode = "test";
            cargoDocOptions = x: x ++ ["--no-deps"];
          };
          unix = naersk-lib.buildPackage {
            src = ./.;
            doCheck = true;
            cargoBuildOptions = x: x ++ ["--no-default-features" "--features" "unix"];
            cargoTestOptions  = x: x ++ ["--no-default-features" "--features" "unix"];
            mode = "test";
          };
          tcp = naersk-lib.buildPackage {
            src = ./.;
            doCheck = true;
            cargoBuildOptions = x: x ++ ["--no-default-features" "--features" "tcp"];
            cargoTestOptions  = x: x ++ ["--no-default-features" "--features" "tcp"];
            mode = "test";
          };
          clippy_unix = naersk-lib.buildPackage {
            src = ./.;
            cargoBuildOptions = x: x ++ ["--no-default-features" "--features" "unix"];
            cargoTestOptions  = x: x ++ ["--no-default-features" "--features" "unix"];
            mode = "clippy";
          };
          clippy_tcp = naersk-lib.buildPackage {
            src = ./.;
            cargoBuildOptions = x: x ++ ["--no-default-features" "--features" "tcp"];
            cargoTestOptions  = x: x ++ ["--no-default-features" "--features" "tcp"];
            mode = "clippy";
          };
        };        
        devShell = with pkgs; mkShell {
          nativeBuildInputs = with pkgs; [rustc cargo rustfmt pre-commit clippy cargo-expand];
          RUST_LOG = "debug";
        };
      });
}