feat(claude-code): add sox for voice mode
This commit is contained in:
@@ -6,16 +6,23 @@
|
|||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.home.dev.ai.claude;
|
cfg = config.home.dev.ai.claude;
|
||||||
|
jsonFormat = pkgs.formats.json {};
|
||||||
in {
|
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 {
|
config = mkIf cfg.enable {
|
||||||
home.packages = let
|
home.packages = let
|
||||||
claude-jj = pkgs.writeShellScriptBin "claude-jj" ''
|
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 = {
|
programs.claude-code = {
|
||||||
inherit (cfg) enable;
|
inherit (cfg) enable mcpServers;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,18 +6,34 @@
|
|||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.home.dev.ai;
|
cfg = config.home.dev.ai;
|
||||||
|
jsonFormat = pkgs.formats.json {};
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./claude.nix
|
./claude.nix
|
||||||
./ollama.nix
|
./ollama.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options.home.dev.ai.enable = mkEnableOption "Enables AI features";
|
options.home.dev.ai = {
|
||||||
config.home = mkIf cfg.enable {
|
enable = mkEnableOption "Enables AI features";
|
||||||
dev.ai = {
|
mcpServers = mkOption {
|
||||||
claude.enable = mkDefault cfg.enable;
|
inherit (jsonFormat) type;
|
||||||
ollama.enable = mkDefault cfg.enable;
|
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];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user