forked from jan-leila/nix-config
		
	set up nix mcp server
This commit is contained in:
		
							parent
							
								
									0d2a3e26a8
								
							
						
					
					
						commit
						0d57fb08b1
					
				
					 5 changed files with 140 additions and 4 deletions
				
			
		|  | @ -2,10 +2,27 @@ | |||
|   lib, | ||||
|   pkgs, | ||||
|   config, | ||||
|   inputs, | ||||
|   ... | ||||
| }: let | ||||
|   pkgsRepositories = pkgs.nix-vscode-extensions.forVSCodeVersion config.programs.vscode.package.version; | ||||
|   pkgsRepository = pkgsRepositories.open-vsx; | ||||
| 
 | ||||
|   mcp-nixos = inputs.mcp-nixos.packages.${pkgs.stdenv.hostPlatform.system}.default; | ||||
| 
 | ||||
|   anyProfileHasMcpNixos = lib.any ( | ||||
|     profile: | ||||
|       profile.extraExtensions.claudeDev.enable | ||||
|       && profile.extraExtensions.claudeDev.mcp.nixos.enable | ||||
|   ) (lib.attrValues config.programs.vscode.profiles); | ||||
| 
 | ||||
|   mcpServersConfig = lib.mkMerge [ | ||||
|     (lib.mkIf anyProfileHasMcpNixos { | ||||
|       nixos = { | ||||
|         command = "${mcp-nixos}/bin/mcp-nixos"; | ||||
|       }; | ||||
|     }) | ||||
|   ]; | ||||
| in { | ||||
|   options.programs.vscode.profiles = lib.mkOption { | ||||
|     type = lib.types.attrsOf (lib.types.submodule ({config, ...}: { | ||||
|  | @ -15,6 +32,12 @@ in { | |||
|           extension = lib.mkPackageOption pkgsRepository "claude-dev" { | ||||
|             default = ["saoudrizwan" "claude-dev"]; | ||||
|           }; | ||||
| 
 | ||||
|           mcp = { | ||||
|             nixos = { | ||||
|               enable = lib.mkEnableOption "enable NixOS MCP server for Claude Dev"; | ||||
|             }; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|       config = lib.mkIf config.extraExtensions.claudeDev.enable { | ||||
|  | @ -24,4 +47,17 @@ in { | |||
|       }; | ||||
|     })); | ||||
|   }; | ||||
| 
 | ||||
|   config = lib.mkIf anyProfileHasMcpNixos { | ||||
|     home.file."${config.xdg.configHome}/VSCodium/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json" = { | ||||
|       text = builtins.toJSON { | ||||
|         mcpServers = mcpServersConfig; | ||||
|       }; | ||||
|       force = true; | ||||
|     }; | ||||
| 
 | ||||
|     home.packages = [ | ||||
|       mcp-nixos | ||||
|     ]; | ||||
|   }; | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue