diff --git a/modules/home-manager/coding/agents/pi.nix b/modules/home-manager/coding/agents/pi.nix index 8aa74d8..6900832 100644 --- a/modules/home-manager/coding/agents/pi.nix +++ b/modules/home-manager/coding/agents/pi.nix @@ -207,7 +207,8 @@ guardrails = mkOption { type = types.nullOr (types.submodule { options = { - enable = mkEnableOption + enable = + mkEnableOption "Generate ~/.pi/agent/extensions/guardrails.json for pi-guardrails. " + "Adds @aliou/pi-guardrails to packages automatically."; @@ -262,7 +263,8 @@ guardrailsPackage = "npm:@aliou/pi-guardrails@0.11.1"; # Guardrails config (only when guardrails is enabled) - guardrailsJson = if (cfg.guardrails != null && cfg.guardrails.enable) + guardrailsJson = + if (cfg.guardrails != null && cfg.guardrails.enable) then builtins.toJSON cfg.guardrails.config else null; @@ -270,11 +272,14 @@ piSettingsWithGuardrails = let baseSettings = cfg.settings; basePackages = baseSettings.packages or []; - hasGuardrailsPackage = lib.any - (p: lib.hasPrefix "npm:@aliou/pi-guardrails" p || - (lib.hasPrefix "git:" p && lib.hasSuffix "/pi-guardrails" p)) + hasGuardrailsPackage = + lib.any + (p: + lib.hasPrefix "npm:@aliou/pi-guardrails" p + || (lib.hasPrefix "git:" p && lib.hasSuffix "/pi-guardrails" p)) basePackages; - packagesWithGuardrails = if (cfg.guardrails != null && cfg.guardrails.enable && !hasGuardrailsPackage) + packagesWithGuardrails = + if (cfg.guardrails != null && cfg.guardrails.enable && !hasGuardrailsPackage) then basePackages ++ [guardrailsPackage] else basePackages; in