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