summaryrefslogtreecommitdiff
path: root/systemd/user
diff options
context:
space:
mode:
authoryyamashita <yyamashita@hetzner.yyamashita.com>2026-05-17 11:02:19 +0900
committeryyamashita <yyamashita@hetzner.yyamashita.com>2026-05-17 11:02:42 +0900
commitb836174d5ad5e4ea36a5f456061a00862317375f (patch)
tree96dab7747ccf0ca42b2f408f1fc74e34bf41fe0e /systemd/user
parente3ac39aeeb17ae97949b2e69969f1ce8a364b343 (diff)
Add Claude Code session management via post-receive hook
Root's post-receive hook now calls scripts/sync-claude-services.sh to manage yyamashita's systemd user services on git push. Sessions are configured in claude-code-sessions.txt (user:repo format). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'systemd/user')
-rw-r--r--systemd/user/claude-code@.service17
1 files changed, 17 insertions, 0 deletions
diff --git a/systemd/user/claude-code@.service b/systemd/user/claude-code@.service
new file mode 100644
index 0000000..e3983b6
--- /dev/null
+++ b/systemd/user/claude-code@.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Claude Code Remote Session (%i)
+After=network.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+WorkingDirectory=/home/yyamashita/workspaces/repos/%i
+ExecStart=/usr/bin/tmux new-session -d -s claude-%i -c /home/yyamashita/workspaces/repos/%i /usr/local/bin/claude --remote-control %i --dangerously-skip-permissions
+ExecStop=/usr/bin/tmux kill-session -t claude-%i
+Environment=HOME=/home/yyamashita
+Environment=USER=yyamashita
+Environment=XDG_RUNTIME_DIR=/run/user/1000
+Environment=TMUX_TMPDIR=/tmp
+
+[Install]
+WantedBy=default.target