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