mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
- use inputsFrom to inherit build inputs from packages - concat passthru.devShellHook from each package
28 lines
967 B
Nix
28 lines
967 B
Nix
# nix/devShell.nix — Dev shell that delegates setup to each package
|
|
#
|
|
# Each package in inputsFrom exposes passthru.devShellHook — a bash snippet
|
|
# with stamp-checked setup logic. This file collects and runs them all.
|
|
{ inputs, ... }: {
|
|
perSystem = { pkgs, system, ... }:
|
|
let
|
|
hermes-agent = inputs.self.packages.${system}.default;
|
|
hermes-tui = inputs.self.packages.${system}.tui;
|
|
packages = [ hermes-agent hermes-tui ];
|
|
in {
|
|
devShells.default = pkgs.mkShell {
|
|
inputsFrom = packages;
|
|
packages = with pkgs; [
|
|
python311 uv nodejs_22 ripgrep git openssh ffmpeg
|
|
];
|
|
|
|
shellHook = let
|
|
hooks = map (p: p.passthru.devShellHook or "") packages;
|
|
combined = pkgs.lib.concatStringsSep "\n" (builtins.filter (h: h != "") hooks);
|
|
in ''
|
|
echo "Hermes Agent dev shell"
|
|
${combined}
|
|
echo "Ready. Run 'hermes' to start."
|
|
'';
|
|
};
|
|
};
|
|
}
|