feat: installed mcp servers for vitest and eslint
This commit is contained in:
parent
2745af9443
commit
ca9f54d795
2 changed files with 41 additions and 6 deletions
|
@ -72,6 +72,8 @@ in {
|
|||
enable = true;
|
||||
mcp = {
|
||||
nixos.enable = true;
|
||||
eslint.enable = true;
|
||||
vitest.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -15,6 +15,20 @@
|
|||
profile.extraExtensions.claudeDev.enable
|
||||
&& profile.extraExtensions.claudeDev.mcp.nixos.enable
|
||||
) (lib.attrValues config.programs.vscode.profiles);
|
||||
|
||||
anyProfileHasMcpEslint = lib.any (
|
||||
profile:
|
||||
profile.extraExtensions.claudeDev.enable
|
||||
&& profile.extraExtensions.claudeDev.mcp.eslint.enable
|
||||
) (lib.attrValues config.programs.vscode.profiles);
|
||||
|
||||
anyProfileHasMcpVitest = lib.any (
|
||||
profile:
|
||||
profile.extraExtensions.claudeDev.enable
|
||||
&& profile.extraExtensions.claudeDev.mcp.vitest.enable
|
||||
) (lib.attrValues config.programs.vscode.profiles);
|
||||
|
||||
anyProfileHasMcp = anyProfileHasMcpNixos || anyProfileHasMcpEslint || anyProfileHasMcpVitest;
|
||||
in {
|
||||
options.programs.vscode.profiles = lib.mkOption {
|
||||
type = lib.types.attrsOf (lib.types.submodule ({config, ...}: {
|
||||
|
@ -29,6 +43,12 @@ in {
|
|||
nixos = {
|
||||
enable = lib.mkEnableOption "enable NixOS MCP server for Claude Dev";
|
||||
};
|
||||
eslint = {
|
||||
enable = lib.mkEnableOption "enable ESLint MCP server for Claude Dev";
|
||||
};
|
||||
vitest = {
|
||||
enable = lib.mkEnableOption "enable Vitest MCP server for Claude Dev";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -47,14 +67,27 @@ in {
|
|||
];
|
||||
})
|
||||
|
||||
(lib.mkIf anyProfileHasMcpNixos {
|
||||
(lib.mkIf anyProfileHasMcp {
|
||||
home.file."${config.xdg.configHome}/VSCodium/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json" = {
|
||||
text = builtins.toJSON {
|
||||
mcpServers = {
|
||||
nixos = {
|
||||
command = "${mcp-nixos}/bin/mcp-nixos";
|
||||
};
|
||||
};
|
||||
mcpServers =
|
||||
(lib.optionalAttrs anyProfileHasMcpNixos {
|
||||
nixos = {
|
||||
command = "${mcp-nixos}/bin/mcp-nixos";
|
||||
};
|
||||
})
|
||||
// (lib.optionalAttrs anyProfileHasMcpEslint {
|
||||
eslint = {
|
||||
command = "${pkgs.nodejs}/bin/npx";
|
||||
args = ["-y" "@eslint/mcp@latest"];
|
||||
};
|
||||
})
|
||||
// (lib.optionalAttrs anyProfileHasMcpVitest {
|
||||
vitest = {
|
||||
command = "${pkgs.nodejs}/bin/npx";
|
||||
args = ["-y" "@djankies/vitest-mcp"];
|
||||
};
|
||||
});
|
||||
};
|
||||
force = true;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue