This repository has no description
1.3 kB
46 lines
1{ self, ... }:
2{
3 perSystem =
4 { pkgs, system, ... }:
5 let
6 # Get paths to MCP servers
7 gitMcpPath = "${self.packages.${system}.git-mcp}/bin/git-mcp";
8 tmuxMcpPath = "${self.packages.${system}.tmux-mcp}/bin/tmux-mcp";
9
10 # Claude configuration
11 claudeConfig = pkgs.writeText "claude-config.json" (builtins.toJSON {
12 mcpServers = {
13 "git-mcp" = {
14 command = gitMcpPath;
15 args = [];
16 };
17 "tmux-mcp" = {
18 command = tmuxMcpPath;
19 args = [];
20 };
21 };
22 });
23
24 # Path to CLAUDE.md
25 claudeMd = ./CLAUDE.md;
26 in
27 {
28 packages.claude = self.libWithPkgs.${system}.makeWrapper pkgs.claude {
29 preHook = ''
30 # Set up Claude config directory
31 export CLAUDE_CONFIG_DIR="$HOME/Library/Application Support/Claude"
32 mkdir -p "$CLAUDE_CONFIG_DIR"
33
34 # Copy our config to Claude's config location
35 cp ${claudeConfig} "$CLAUDE_CONFIG_DIR/claude_desktop_config.json"
36
37 # Set up CLAUDE.md if it doesn't exist
38 CLAUDE_MD_DIR="''${CLAUDE_MD_DIR:-$HOME/.claude}"
39 mkdir -p "$CLAUDE_MD_DIR"
40 if [[ ! -f "$CLAUDE_MD_DIR/CLAUDE.md" ]]; then
41 cp ${claudeMd} "$CLAUDE_MD_DIR/CLAUDE.md"
42 fi
43 '';
44 };
45 };
46}