dot

NixOS dotfiles
git clone https://git.echoz.io/dot.git
Log | Files | Refs

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:
Dmodules/claude-code/default.nix | 43-------------------------------------------
Amodules/claude/default.nix | 54++++++++++++++++++++++++++++++++++++++++++++++++++++++
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; + }; + }; +}