better claude symlinks
This commit is contained in:
@@ -12,5 +12,9 @@
|
|||||||
"Bash(done)",
|
"Bash(done)",
|
||||||
"Bash(TUICR_TERMINAL=kitty /home/naps62/.claude/skills/tuicr/tuicr-wrapper.sh:*)"
|
"Bash(TUICR_TERMINAL=kitty /home/naps62/.claude/skills/tuicr/tuicr-wrapper.sh:*)"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
"sandbox": {
|
||||||
|
"enabled": true,
|
||||||
|
"autoAllowBashIfSandboxed": false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+3
-3
@@ -613,11 +613,11 @@
|
|||||||
"nixpkgs": "nixpkgs_7"
|
"nixpkgs": "nixpkgs_7"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1770353257,
|
"lastModified": 1770707140,
|
||||||
"narHash": "sha256-on4vg7ctpMPzKWcvXPtV095aal6KUPDSKV9+I8HhQtY=",
|
"narHash": "sha256-3ZRA2+o5p1+FKWx988WbwB1SQ2Mz5aL95zxhL5iD+O0=",
|
||||||
"owner": "0xc000022070",
|
"owner": "0xc000022070",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "6242228ddf448e775b3dd8f2b7a78c3856e70d52",
|
"rev": "db14437f8667f7f09784e2a4e73c105bdc1c7023",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -1,68 +1,36 @@
|
|||||||
{
|
{ ... }:
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
{
|
||||||
home.file.".default-npm-packages".text = ''
|
home.file.".default-npm-packages".text = ''
|
||||||
@anthropic-ai/claude-code
|
@anthropic-ai/claude-code
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Create writable commands/skills directories and symlink files
|
# Commands
|
||||||
home.activation.claudeCommandsDir = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
home.file.".claude/commands/merge.md".source = ./commands/merge.md;
|
||||||
COMMANDS_DIR="$HOME/.claude/commands"
|
home.file.".claude/commands/update.md".source = ./commands/update.md;
|
||||||
SKILLS_DIR="$HOME/.claude/skills"
|
home.file.".claude/commands/work.md".source = ./commands/work.md;
|
||||||
SETTINGS_FILE="$HOME/.claude/settings.json"
|
|
||||||
|
|
||||||
# Remove old symlinks if they exist
|
# Skills: agents
|
||||||
if [ -L "$COMMANDS_DIR" ]; then
|
home.file.".claude/skills/designer-bold/SKILL.md".source = ./skills/designer-bold/SKILL.md;
|
||||||
$DRY_RUN_CMD rm -f "$COMMANDS_DIR"
|
home.file.".claude/skills/designer/SKILL.md".source = ./skills/designer/SKILL.md;
|
||||||
fi
|
home.file.".claude/skills/analyze-branch/SKILL.md".source = ./skills/analyze-branch/SKILL.md;
|
||||||
if [ -L "$SKILLS_DIR" ]; then
|
home.file.".claude/skills/oracle/SKILL.md".source = ./skills/oracle/SKILL.md;
|
||||||
$DRY_RUN_CMD rm -f "$SKILLS_DIR"
|
home.file.".claude/skills/librarian/SKILL.md".source = ./skills/librarian/SKILL.md;
|
||||||
fi
|
|
||||||
|
|
||||||
# Create directories
|
# Skills: knowledge
|
||||||
$DRY_RUN_CMD mkdir -p "$COMMANDS_DIR"
|
home.file.".claude/skills/git-master/SKILL.md".source = ./skills/git-master/SKILL.md;
|
||||||
$DRY_RUN_CMD mkdir -p "$SKILLS_DIR"
|
home.file.".claude/skills/planning-with-files/SKILL.md".source = ./skills/planning-with-files/SKILL.md;
|
||||||
|
home.file.".claude/skills/react-patterns/SKILL.md".source = ./skills/react-patterns/SKILL.md;
|
||||||
|
home.file.".claude/skills/vercel-react-best-practices/SKILL.md".source = ./skills/vercel-react-best-practices/SKILL.md;
|
||||||
|
|
||||||
# Commands
|
# Skills: workflows
|
||||||
$DRY_RUN_CMD ln -sf ${./commands/merge.md} "$COMMANDS_DIR/merge.md"
|
home.file.".claude/skills/smart-debug/SKILL.md".source = ./skills/smart-debug/SKILL.md;
|
||||||
$DRY_RUN_CMD ln -sf ${./commands/update.md} "$COMMANDS_DIR/update.md"
|
home.file.".claude/skills/tdd-cycle/SKILL.md".source = ./skills/tdd-cycle/SKILL.md;
|
||||||
$DRY_RUN_CMD ln -sf ${./commands/work.md} "$COMMANDS_DIR/work.md"
|
home.file.".claude/skills/security-scan/SKILL.md".source = ./skills/security-scan/SKILL.md;
|
||||||
|
home.file.".claude/skills/issue/SKILL.md".source = ./skills/issue/SKILL.md;
|
||||||
|
home.file.".claude/skills/remove-deadcode/SKILL.md".source = ./skills/remove-deadcode/SKILL.md;
|
||||||
|
home.file.".claude/skills/worktree-compare/SKILL.md".source = ./skills/worktree-compare/SKILL.md;
|
||||||
|
home.file.".claude/skills/worktree-list/SKILL.md".source = ./skills/worktree-list/SKILL.md;
|
||||||
|
|
||||||
# Skills: agents (adapted from opencode)
|
home.file.".claude/settings.json".source = ./settings.json;
|
||||||
$DRY_RUN_CMD mkdir -p "$SKILLS_DIR"/{designer-bold,designer,analyze-branch,oracle,librarian}
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/designer-bold/SKILL.md} "$SKILLS_DIR/designer-bold/SKILL.md"
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/designer/SKILL.md} "$SKILLS_DIR/designer/SKILL.md"
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/analyze-branch/SKILL.md} "$SKILLS_DIR/analyze-branch/SKILL.md"
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/oracle/SKILL.md} "$SKILLS_DIR/oracle/SKILL.md"
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/librarian/SKILL.md} "$SKILLS_DIR/librarian/SKILL.md"
|
|
||||||
|
|
||||||
# Skills: knowledge (adapted from opencode)
|
|
||||||
$DRY_RUN_CMD mkdir -p "$SKILLS_DIR"/{git-master,planning-with-files,react-patterns,vercel-react-best-practices}
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/git-master/SKILL.md} "$SKILLS_DIR/git-master/SKILL.md"
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/planning-with-files/SKILL.md} "$SKILLS_DIR/planning-with-files/SKILL.md"
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/react-patterns/SKILL.md} "$SKILLS_DIR/react-patterns/SKILL.md"
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/vercel-react-best-practices/SKILL.md} "$SKILLS_DIR/vercel-react-best-practices/SKILL.md"
|
|
||||||
|
|
||||||
# Skills: workflows (adapted from opencode)
|
|
||||||
$DRY_RUN_CMD mkdir -p "$SKILLS_DIR"/{smart-debug,tdd-cycle,security-scan,issue,remove-deadcode,worktree-compare,worktree-list}
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/smart-debug/SKILL.md} "$SKILLS_DIR/smart-debug/SKILL.md"
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/tdd-cycle/SKILL.md} "$SKILLS_DIR/tdd-cycle/SKILL.md"
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/security-scan/SKILL.md} "$SKILLS_DIR/security-scan/SKILL.md"
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/issue/SKILL.md} "$SKILLS_DIR/issue/SKILL.md"
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/remove-deadcode/SKILL.md} "$SKILLS_DIR/remove-deadcode/SKILL.md"
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/worktree-compare/SKILL.md} "$SKILLS_DIR/worktree-compare/SKILL.md"
|
|
||||||
$DRY_RUN_CMD ln -sf ${./skills/worktree-list/SKILL.md} "$SKILLS_DIR/worktree-list/SKILL.md"
|
|
||||||
|
|
||||||
# Copy settings.json to make it writable (only if it doesn't exist or is a symlink)
|
|
||||||
if [ -L "$SETTINGS_FILE" ] || [ ! -f "$SETTINGS_FILE" ]; then
|
|
||||||
$DRY_RUN_CMD rm -f "$SETTINGS_FILE"
|
|
||||||
$DRY_RUN_CMD cp ${./settings.json} "$SETTINGS_FILE"
|
|
||||||
$DRY_RUN_CMD chmod 644 "$SETTINGS_FILE"
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
home.file.".claude/CLAUDE.md".source = ./CLAUDE.md;
|
home.file.".claude/CLAUDE.md".source = ./CLAUDE.md;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"permissions": {
|
"permissions": {
|
||||||
"additionalDirectories": ["/home/naps62/projects", "/home/naps62/ethui"],
|
"additionalDirectories": ["/home/naps62/projects", "/home/naps62/ethui", "/home/naps62/labs", "/home/naps62/subvisual"],
|
||||||
"allow": [
|
"allow": [
|
||||||
"Edit",
|
"Edit",
|
||||||
"Write",
|
"Write",
|
||||||
@@ -29,31 +29,13 @@
|
|||||||
"Bash(kitty @ set-tab-title:*)"
|
"Bash(kitty @ set-tab-title:*)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"sandbox": {
|
||||||
|
"enabled": true,
|
||||||
|
"autoAllowBashIfSandboxed": false
|
||||||
|
},
|
||||||
"defaultMode": "acceptEdits",
|
"defaultMode": "acceptEdits",
|
||||||
"feedbackSurveyState": {
|
"feedbackSurveyState": {
|
||||||
"lastShownTime": 1754052643456
|
"lastShownTime": 1754052643456
|
||||||
},
|
},
|
||||||
"hooks": {
|
"$schema": "https://json.schemastore.org/claude-code-settings.json"
|
||||||
"Stop": [
|
|
||||||
{
|
|
||||||
"matcher": "*",
|
|
||||||
"hooks": [{ "type": "command", "command": "printf '\\a'" }]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"SessionStart": [
|
|
||||||
{
|
|
||||||
"hooks": [
|
|
||||||
{
|
|
||||||
"type": "command",
|
|
||||||
"command": "node \"/home/naps62/.claude/hooks/gsd-check-update.js\""
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
|
||||||
"statusLine": {
|
|
||||||
"type": "command",
|
|
||||||
"command": "node \"/home/naps62/.claude/hooks/gsd-statusline.js\""
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,14 @@
|
|||||||
typstyle
|
typstyle
|
||||||
|
|
||||||
renderdoc
|
renderdoc
|
||||||
|
|
||||||
|
mkcert
|
||||||
|
nss.tools
|
||||||
|
|
||||||
|
# claude sandbox
|
||||||
|
bubblewrap
|
||||||
|
socat
|
||||||
|
libseccomp
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.tmux = {
|
programs.tmux = {
|
||||||
|
|||||||
Reference in New Issue
Block a user