forked from jan-leila/nix-config
		
	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
				
			
		|  | @ -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