rm_engine 0.1.0

My engine for risk-management
Documentation
{ pkgs, workflow-parts, ... }:
let
  shared-base = import workflow-parts.shared.base { inherit pkgs; };
  shared-jobs = {
    tokei = import workflow-parts.shared.tokei { inherit pkgs; };
  };
  rust-base = import workflow-parts.rust.base { inherit pkgs; };
  rustc-versions = [ "nightly" "nightly-2024-10-10" ];
  rust-jobs-errors = {
    tests = import workflow-parts.rust.tests { inherit rustc-versions; };
    miri = import workflow-parts.rust.miri { inherit pkgs; };
    doc = import workflow-parts.rust.doc { inherit pkgs; };
  };
  rust-jobs-warn = {
    machete = import workflow-parts.rust.machete { inherit pkgs; };
    sort = import workflow-parts.rust.sort { inherit pkgs; };
    clippy = import workflow-parts.rust.clippy { inherit pkgs; };
  };
  base = {
    on = {
      push = { };
      pull_request = { };
      workflow_dispatch = { };
    };
  };
in
{
  errors = (pkgs.formats.yaml { }).generate "" (pkgs.lib.recursiveUpdate base {
    name = "Errors";
    inherit (shared-base) permissions;
    inherit (rust-base) env;
    jobs = pkgs.lib.recursiveUpdate rust-base.jobs rust-jobs-errors;
  });
  warnings = (pkgs.formats.yaml { }).generate "" (pkgs.lib.recursiveUpdate base {
    name = "Warnings";
    inherit (shared-base) permissions;
    jobs = pkgs.lib.recursiveUpdate (pkgs.lib.recursiveUpdate shared-jobs rust-jobs-warn) rust-base.jobs;
  });
}