aboutsummaryrefslogtreecommitdiffstats
path: root/modules/development
diff options
context:
space:
mode:
Diffstat (limited to 'modules/development')
-rw-r--r--modules/development/pi-coding-agent/assertions.nix17
-rw-r--r--modules/development/pi-coding-agent/default.nix14
2 files changed, 28 insertions, 3 deletions
diff --git a/modules/development/pi-coding-agent/assertions.nix b/modules/development/pi-coding-agent/assertions.nix
new file mode 100644
index 0000000..aa2e5ba
--- /dev/null
+++ b/modules/development/pi-coding-agent/assertions.nix
@@ -0,0 +1,17 @@
+# Validates pi-coding-agent dependencies
+{ config, ... }:
+let
+ cfg = config.development.pi-coding-agent;
+in
+{
+ assertions = [
+ {
+ assertion = !cfg.enable || config.terminal.kitty.enable;
+ message = ''
+ development.pi-coding-agent.enable creates a desktop entry using kitty,
+ but terminal.kitty.enable is not set.
+ Enable terminal.kitty or disable the desktop entry.
+ '';
+ }
+ ];
+}
diff --git a/modules/development/pi-coding-agent/default.nix b/modules/development/pi-coding-agent/default.nix
index e560a98..d3b01fd 100644
--- a/modules/development/pi-coding-agent/default.nix
+++ b/modules/development/pi-coding-agent/default.nix
@@ -9,6 +9,8 @@ let
configDir = "${config.xdg.configHome}/pi";
in
{
+ imports = [ ./assertions.nix ];
+
options.development.pi-coding-agent = {
enable = lib.mkEnableOption "Pi Coding Agent";
@@ -22,9 +24,15 @@ in
config = lib.mkIf cfg.enable {
home.file = {
- "${configDir}/skills".source = ./skills;
- "${configDir}/prompts".source = ./prompts;
- "${configDir}/config/pi-subagent".source = ./roles;
+ "${configDir}/skills" = {
+ source = ./skills;
+ };
+ "${configDir}/prompts" = {
+ source = ./prompts;
+ };
+ "${configDir}/config/pi-subagent" = {
+ source = ./roles;
+ };
};
programs.pi-coding-agent = {