nix-hermes-agent/flake.nix

60 lines
1.6 KiB
Nix

{
description = "Nix package and NixOS module for Hermes Agent by Nous Research";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs =
{
self,
nixpkgs,
flake-utils,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs { inherit system; };
lib = pkgs.lib;
in
{
packages = {
hermes-agent = pkgs.callPackage ./package.nix { };
hermes-agent-nightly = import ./nightly.nix { inherit pkgs; };
default = self.packages.${system}.hermes-agent;
};
checks =
(import ./checks.nix {
inherit pkgs;
inherit (self.packages.${system}) hermes-agent;
})
// (lib.mapAttrs' (name: value: lib.nameValuePair "nightly-${name}" value)
(import ./checks.nix {
inherit pkgs;
hermes-agent = self.packages.${system}.hermes-agent-nightly;
}))
// {
skills-coexistence = import ./tests/skills-coexistence.nix {
inherit self nixpkgs system;
};
};
devShells.default = pkgs.mkShell {
packages = [ self.packages.${system}.hermes-agent ];
};
}
)
// {
nixosModules = {
hermes-agent = import ./module.nix self;
default = self.nixosModules.hermes-agent;
};
overlays.default = final: prev: {
hermes-agent = final.callPackage ./package.nix { };
hermes-agent-nightly = import ./nightly.nix { pkgs = final; };
};
};
}