mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-01 08:21:50 +08:00
- prevent lockfile thrashing while using nix :3 - use lib.getExe instead of raw /bin/ paths - use inputs'.self instead of passing system in manually
31 lines
848 B
Nix
31 lines
848 B
Nix
# nix/devShell.nix — Dev shell that delegates setup to each package
|
|
#
|
|
# Each package in inputsFrom might expose passthru.devShellHook — a bash snippet
|
|
# with stamp-checked setup logic. This file collects and runs them all.
|
|
{ ... }:
|
|
{
|
|
perSystem =
|
|
{ pkgs, self', ... }:
|
|
let
|
|
packages = builtins.attrValues self'.packages;
|
|
in
|
|
{
|
|
devShells.default = pkgs.mkShell {
|
|
inputsFrom = packages;
|
|
packages = with pkgs; [
|
|
uv
|
|
];
|
|
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."
|
|
'';
|
|
};
|
|
};
|
|
}
|