2025-09-03 11:45:12 +02:00
{
config ,
lib ,
2025-12-07 15:02:21 +01:00
pkgs ,
2025-09-03 11:45:12 +02:00
...
}:
with lib ; let
cfg = config . home . dev . ai . claude ;
2026-03-26 00:11:24 +01:00
jsonFormat = pkgs . formats . json {};
2025-09-03 11:45:12 +02:00
in {
2026-03-26 00:11:24 +01:00
options . home . dev . ai . claude = {
enable = mkEnableOption "Enables Claude-related packages" ;
mcpServers = mkOption {
inherit ( jsonFormat ) type ;
default = {};
};
};
2025-09-03 11:45:12 +02:00
config = mkIf cfg . enable {
2025-12-07 15:02:21 +01:00
home . packages = let
claude-jj = pkgs . writeShellScriptBin "claude-jj" ''
2026-03-26 00:11:24 +01:00
${ pkgs . claude-code } /bin/claude --append-system-prompt 'CRITICAL: This repository uses Jujutsu (jj), NOT git. Never use git commands. Use jj equivalents.' "$@"
2025-12-07 15:02:21 +01:00
'' ;
2026-03-26 00:11:24 +01:00
in [ claude-jj pkgs . sox ];
2025-09-03 11:45:12 +02:00
programs . claude-code = {
2026-03-26 00:11:24 +01:00
inherit ( cfg ) enable mcpServers ;
2025-09-03 11:45:12 +02:00
};
};
}