feat(claude-code): add sox for voice mode

This commit is contained in:
2026-03-26 00:11:24 +01:00
parent b7250f77b5
commit 3525ca37bf
2 changed files with 33 additions and 10 deletions

View File

@@ -6,16 +6,23 @@
}:
with lib; let
cfg = config.home.dev.ai.claude;
jsonFormat = pkgs.formats.json {};
in {
options.home.dev.ai.claude.enable = mkEnableOption "Enables Claude-related packages";
options.home.dev.ai.claude = {
enable = mkEnableOption "Enables Claude-related packages";
mcpServers = mkOption {
inherit (jsonFormat) type;
default = {};
};
};
config = mkIf cfg.enable {
home.packages = let
claude-jj = pkgs.writeShellScriptBin "claude-jj" ''
${pkgs.claude-code}/bin/claude --append-system-prompt 'CRITICAL: This repository uses Jujutsu (jj), NOT git. Never use git commands. Use jj equivalents. See CLAUDE.md.' "$@"
${pkgs.claude-code}/bin/claude --append-system-prompt 'CRITICAL: This repository uses Jujutsu (jj), NOT git. Never use git commands. Use jj equivalents.' "$@"
'';
in [claude-jj];
in [claude-jj pkgs.sox];
programs.claude-code = {
inherit (cfg) enable;
inherit (cfg) enable mcpServers;
};
};
}

View File

@@ -6,18 +6,34 @@
}:
with lib; let
cfg = config.home.dev.ai;
jsonFormat = pkgs.formats.json {};
in {
imports = [
./claude.nix
./ollama.nix
];
options.home.dev.ai.enable = mkEnableOption "Enables AI features";
config.home = mkIf cfg.enable {
dev.ai = {
claude.enable = mkDefault cfg.enable;
ollama.enable = mkDefault cfg.enable;
options.home.dev.ai = {
enable = mkEnableOption "Enables AI features";
mcpServers = mkOption {
inherit (jsonFormat) type;
default = {};
};
};
config = {
home = mkIf cfg.enable {
dev.ai = {
claude = {
enable = mkDefault cfg.enable;
mcpServers = mkDefault cfg.mcpServers;
};
ollama.enable = mkDefault cfg.enable;
};
packages = [pkgs.lmstudio];
};
programs.mcp = mkIf (cfg.mcpServers != {}) {
enable = true;
servers = cfg.mcpServers;
};
packages = [pkgs.lmstudio];
};
}