- `devdesk attach --repo NAME` / `devdesk repo NAME`: git state of the session's folder (branch, ahead/behind, uncommitted changes) plus the Gitea commit status of HEAD and open PR count. Uses the anonymous API for public repos, or /etc/devdesk/gitea-token when present. Runs over the ttyd channel, so no sidecar is needed. The panel links to the repo, the CI run and PRs, and a notification fires when HEAD's CI finishes while the tab is in the background. - /etc/devdesk/env.local is read after the packaged env and never shipped, so upgrades no longer stop at a conffile prompt. - Hooks and status line only record for panes on DevDesk's own tmux server; the Claude wrapper re-reads env before every launch (so the Remote Control toggle applies on the next Claude restart). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
31 lines
1012 B
Desktop File
31 lines
1012 B
Desktop File
[Unit]
|
|
Description=DevDesk tmux server (persistent Claude Code sessions)
|
|
Documentation=https://code.lotusguild.org/LotusGuild/devdesk
|
|
Wants=network-online.target
|
|
After=network-online.target
|
|
|
|
# Deliberately an unrestricted root shell host: no ProtectSystem/ProtectHome/PrivateTmp.
|
|
[Service]
|
|
Type=simple
|
|
User=root
|
|
Environment=HOME=/root USER=root LOGNAME=root SHELL=/bin/bash LANG=C.UTF-8
|
|
Environment=PATH=/root/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
|
EnvironmentFile=-/etc/devdesk/env
|
|
EnvironmentFile=-/etc/devdesk/env.local
|
|
WorkingDirectory=-/root
|
|
RuntimeDirectory=devdesk
|
|
RuntimeDirectoryMode=0700
|
|
StateDirectory=devdesk
|
|
StateDirectoryMode=0700
|
|
ExecStart=/usr/bin/tmux -u -D -S /run/devdesk/tmux.sock -f /usr/share/devdesk/tmux.conf
|
|
ExecStartPost=/usr/lib/devdesk/devdesk-tmux-ready
|
|
# One OOM-killed build inside a session must not take every session down.
|
|
OOMPolicy=continue
|
|
KillMode=mixed
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
TimeoutStopSec=30
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|