mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-03 17:27:37 +08:00
* change(nix): dedupe nix lockfile checking scripts in ci * feat(nix): make .#fix-lockfiles run --apply if no args passed * fix(nix): use same nodejs version everywhere & small lints - prevent lockfile thrashing while using nix :3 - use lib.getExe instead of raw /bin/ paths - use inputs'.self instead of passing system in manually * fix(nix): update lock files yet again (hopefully for the last time) * fix(nix): align indentation of collision check echo --------- Co-authored-by: Hermes Agent <hermes@nousresearch.com>
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."
|
|
'';
|
|
};
|
|
};
|
|
}
|