confium 0.2.0

Open-source distributed trust store framework
Documentation
{
  description = "Confium Development Environment";
  inputs = {
    nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
    flake-utils.url = "github:numtide/flake-utils";
    rust-overlay = {
      url = "github:oxalica/rust-overlay";
      inputs = { nixpkgs.follows = "nixpkgs"; };
    };
    devshell.url = "github:numtide/devshell/master";
    flake-compat = {
      url = "github:edolstra/flake-compat";
      flake = false;
    };
  };
  outputs =
    { self, nixpkgs, rust-overlay, flake-utils, devshell, flake-compat, ... }:
    flake-utils.lib.eachDefaultSystem (system:
    let
      cwd = builtins.toString ./.;
      overlays = [ devshell.overlay rust-overlay.overlays.default ];
      pkgs = import nixpkgs { inherit system overlays; };
      rust = pkgs.rust-bin.fromRustupToolchainFile "${cwd}/rust-toolchain";
    in
    with pkgs; {
      devShell = clangStdenv.mkDerivation {
        name = "rust";
        nativeBuildInputs = [
          binutils
          cargo-release
          clangStdenv
          git-cliff # For generating changelog from git commit messages
          openssl
          openssl.dev
          rust
          rust-analyzer
          cargo-watch
          cmake
        ];
        RUST_SRC_PATH = "${rust}/lib/rustlib/src/rust/library";
        OPENSSL_DIR = "${openssl.bin}/bin";
        OPENSSL_LIB_DIR = "${openssl.out}/lib";
        OPENSSL_INCLUDE_DIR = "${openssl.out.dev}/include";
      };
    });
}