commit cac8d3d6a19c6b6ef38b4e070b824d9f0c7ff6fd
parent bc86f2f686dff561c204da83507fc35da416aabd
Author: Chris <chris@echoz.io>
Date: Thu, 25 Jun 2026 04:28:52 +0200
feat(claude): set some basic context
Diffstat:
2 files changed, 54 insertions(+), 43 deletions(-)
diff --git a/modules/claude-code/default.nix b/modules/claude-code/default.nix
@@ -1,43 +0,0 @@
-{ user, ... }:
-{
- environment.persistence."/fix".users.${user} = {
- directories = [ ".claude" ];
- files = [ ".claude.json" ];
- };
-
- home-manager.users.${user} = {
- nixpkgs.config.allowUnfree = true;
-
- programs.claude-code = {
- enable = true;
- settings = {
- permissions = {
- allow = [
- "Read(//nix/store*)"
- ];
- };
- sandbox = {
- enabled = true;
- filesystem = {
- denyRead = [ "/" ];
- allowRead = [
- "/nix/store"
- "/run/current-system"
- ];
- };
- };
- effortLevel = "medium";
- model = "opusplan";
- };
- mcpServers.agentgateway = {
- type = "http";
- url = "https://mcp.stafftastic.com/mcp/http";
- };
- };
-
- home.file.".claude/settings.json" = {
- mutable = true;
- force = true;
- };
- };
-}
diff --git a/modules/claude/default.nix b/modules/claude/default.nix
@@ -0,0 +1,54 @@
+{ user, ... }:
+{
+ environment.persistence."/fix".users.${user} = {
+ directories = [ ".claude" ];
+ files = [ ".claude.json" ];
+ };
+
+ home-manager.users.${user} =
+ { config, ... }:
+ {
+ nixpkgs.config.allowUnfree = true;
+
+ programs.claude-code = {
+ enable = true;
+ context = ''
+ ## Git workflow
+
+ Always create a feature branch for any code change — never commit directly to the default branch.
+
+ When merging a PR: squash merge, then delete both the remote and local branch.
+
+ Don't add a PR body unless the change genuinely warrants explanation beyond the title.
+ '';
+ settings = {
+ permissions = {
+ allow = [
+ "Read(//nix/store*)"
+ ];
+ };
+ sandbox = {
+ enabled = true;
+ filesystem = {
+ denyRead = [ "/" ];
+ allowRead = [
+ "/nix/store"
+ "/run/current-system"
+ ];
+ };
+ };
+ effortLevel = "medium";
+ model = "opusplan";
+ };
+ mcpServers.agentgateway = {
+ type = "http";
+ url = "https://mcp.stafftastic.com/mcp/http";
+ };
+ };
+
+ home.file."${config.programs.claude-code.configDir}/settings.json" = {
+ mutable = true;
+ force = true;
+ };
+ };
+}