pinwheel: Make claude settings writable with nix as defaults

This commit is contained in:
Alexander Heldt committed 2026-11-03 12:05:53 +01:00
1 parent 04f277014e
commit 4dfce548bf
1 file changed
+14 -2
+14 -2
View File
@@ -47,6 +47,8 @@ let
]; ];
}; };
}; };
settingsFile = pkgs.writeText "claude-settings.json" settings;
in in
{ {
options = { options = {
@@ -68,8 +70,18 @@ in
pclaude = "CLAUDE_CONFIG_DIR=$HOME/.claude-personal command claude"; pclaude = "CLAUDE_CONFIG_DIR=$HOME/.claude-personal command claude";
}; };
home.file.".claude-work/settings.json".text = settings; home.activation.claudeSettings = {
home.file.".claude-personal/settings.json".text = settings; after = [ "linkGeneration" ];
before = [ ];
data = ''
for f in "$HOME"/.claude-{work,personal}/settings.json; do
current="$(cat "$f" 2>/dev/null || echo '{}')"
run mkdir -p "$(dirname "$f")"
run rm -f "$f"
echo "$current" | ${pkgs.jq}/bin/jq -s '.[0] * .[1]' ${settingsFile} - | run tee "$f" > /dev/null
done
'';
};
programs.ct = { programs.ct = {
enable = true; enable = true;