pinwheel: Make claude settings writable with nix as defaults
This commit is contained in:
1 file changed
+14
-2
@@ -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;
|
||||||
|
|||||||
Reference in new issue
Block a user