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
|
||||
{
|
||||
options = {
|
||||
@@ -68,8 +70,18 @@ in
|
||||
pclaude = "CLAUDE_CONFIG_DIR=$HOME/.claude-personal command claude";
|
||||
};
|
||||
|
||||
home.file.".claude-work/settings.json".text = settings;
|
||||
home.file.".claude-personal/settings.json".text = settings;
|
||||
home.activation.claudeSettings = {
|
||||
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 = {
|
||||
enable = true;
|
||||
|
||||
Reference in new issue
Block a user