mercur 0.1.3

mercur - junolang package manager
{
  inputs = {
    flake-utils.url = "github:numtide/flake-utils";
    naersk.url = "github:nix-community/naersk";
    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
  };

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

        naersk' = pkgs.callPackage naersk { };

        buildInputs = with pkgs; [

        ];

        nativeBuildInputs = with pkgs; [

        ];
      in
      rec {
        defaultPackage = packages.app;
        packages = {
          app = naersk'.buildPackage {
            src = ./.;
            nativeBuildInputs = nativeBuildInputs;
            buildInputs = buildInputs;
          };
          contianer = pkgs.dockerTools.buildImage {
            name = "app";
            config = {
              entrypoint = [ "${packages.app}/bin/app" ];
            };
          };
        };

        devShell = pkgs.mkShell {
          LLVM_SYS_221_PREFIX = "${pkgs.llvmPackages_22.llvm.dev}";
          RUST_SRC_PATH = "${pkgs.rustPlatform.rustLibSrc}";
          LIBCLANG_PATH = "${pkgs.llvmPackages_22.libclang.lib}/lib";
          nativeBuildInputs =
            with pkgs;
            [
              nixpkgs-fmt
              cmake
              rustc
              cargo
              clippy
              flatbuffers
              #llvmPackages_22.llvm.dev
              #llvmPackages_22.clang
              #llvmPackages_22.bintools
              rustPlatform.rustLibSrc
              #libffi
              #libxml2
            ]
            ++ buildInputs
            ++ nativeBuildInputs;
        };
      }
    );
}