This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / tools / claude / flake-module.nix
4.2 kB 149 lines
1{ self, inputs, ... }: 2{ 3 perSystem = 4 { pkgs, system, ... }: 5 let 6 claude = inputs.wrappers.lib.wrapModule { 7 imports = [ self.wrapperModules.claude-code ]; 8 inherit pkgs; 9 10 package = self.lib.halalify self.legacyPackages.${system}.llm.claude-code; 11 12 claudeMd = ./CLAUDE.md; 13 14 mcpServers = { 15 git-mcp = { 16 command = "${self.packages.${system}.git-mcp}/bin/git-mcp"; 17 }; 18 tmux-mcp = { 19 command = "${self.packages.${system}.tmux-mcp}/bin/tmux-mcp"; 20 }; 21 }; 22 23 skills = { 24 hedgedoc = "${self.legacyPackages.${system}.skills.hedgedoc}/share/hedgedoc"; 25 reverse-engineering = "${ 26 self.legacyPackages.${system}.skills.reverse-engineering 27 }/share/reverse-engineering"; 28 websearch = "${self.legacyPackages.${system}.skills.websearch}/share/websearch"; 29 }; 30 31 permissions = { 32 allow = [ 33 # nix operations 34 "Bash(nix build:*)" 35 "Bash(nix eval:*)" 36 "Bash(nix fmt:*)" 37 "Bash(nix flake:*)" 38 "Bash(nix develop:*)" 39 "Bash(nix run:*)" 40 "Bash(nix search:*)" 41 "Bash(nix log:*)" 42 "Bash(nix path-info:*)" 43 "Bash(nix store:*)" 44 "Bash(nix derivation:*)" 45 "Bash(nix hash:*)" 46 "Bash(nix-build:*)" 47 "Bash(nix-instantiate:*)" 48 "Bash(nix-locate:*)" 49 "Bash(nix-prefetch-url:*)" 50 "Bash(nixos-rebuild:*)" 51 "Bash(darwin-rebuild:*)" 52 # clan 53 "Bash(clan:*)" 54 # git read operations 55 "Bash(git status:*)" 56 "Bash(git diff:*)" 57 "Bash(git log:*)" 58 "Bash(git show:*)" 59 "Bash(git branch:*)" 60 "Bash(git remote:*)" 61 "Bash(git stash list:*)" 62 "Bash(git rev-parse:*)" 63 "Bash(git describe:*)" 64 "Bash(git tag:*)" 65 "Bash(git ls-files:*)" 66 "Bash(git ls-remote:*)" 67 # git write operations 68 "Bash(git add:*)" 69 "Bash(git commit:*)" 70 "Bash(git checkout:*)" 71 "Bash(git switch:*)" 72 "Bash(git merge:*)" 73 "Bash(git rebase:*)" 74 "Bash(git stash:*)" 75 "Bash(git cherry-pick:*)" 76 "Bash(git fetch:*)" 77 "Bash(git pull:*)" 78 # common read-only tools 79 "Bash(cat:*)" 80 "Bash(ls:*)" 81 "Bash(find:*)" 82 "Bash(grep:*)" 83 "Bash(rg:*)" 84 "Bash(fd:*)" 85 "Bash(head:*)" 86 "Bash(tail:*)" 87 "Bash(wc:*)" 88 "Bash(sort:*)" 89 "Bash(uniq:*)" 90 "Bash(jq:*)" 91 "Bash(tree:*)" 92 "Bash(file:*)" 93 "Bash(which:*)" 94 "Bash(realpath:*)" 95 "Bash(readlink:*)" 96 "Bash(dirname:*)" 97 "Bash(basename:*)" 98 "Bash(stat:*)" 99 "Bash(du:*)" 100 "Bash(df:*)" 101 "Bash(env:*)" 102 "Bash(echo:*)" 103 "Bash(printf:*)" 104 "Bash(test:*)" 105 "Bash(tr:*)" 106 "Bash(sed:*)" 107 "Bash(awk:*)" 108 "Bash(cut:*)" 109 "Bash(diff:*)" 110 "Bash(tee:*)" 111 "Bash(xargs:*)" 112 "Bash(mkdir:*)" 113 "Bash(cp:*)" 114 "Bash(mv:*)" 115 "Bash(touch:*)" 116 "Bash(chmod:*)" 117 "Bash(ln:*)" 118 # dev tools 119 "Bash(gh:*)" 120 "Bash(shellcheck:*)" 121 "Bash(ruff:*)" 122 "Bash(kagi-search:*)" 123 "Bash(curl:*)" 124 # file edits 125 "Edit" 126 "Write" 127 "Read" 128 ]; 129 }; 130 131 extraPackages = [ 132 self.packages.${system}.kagi-search 133 pkgs.curl 134 pkgs.jq 135 pkgs.ripgrep 136 pkgs.fd 137 pkgs.tree 138 ]; 139 140 settings = { 141 # Prefer compact output for better context usage 142 verbose = true; 143 }; 144 }; 145 in 146 { 147 packages.claude = claude.wrapper; 148 }; 149}