# =============================================================================
# kare-wrapped-user.service — user systemd service 模板
#
# 占位符由 kare install 阶段填充，填充后的值按 [KarePolicy] 定义的规则
# 应用到原始 service 文件：
#
#   force   — 始终用模板值替换原始值
#   comment — 在原始文件中注释掉这些字段
#   rewrite — 绝对路径改写（字段名:新前缀），同时拷贝文件到宿主
#   defaults— 模板中其他字段均为默认值（原始有则保留，无则用模板值）
#   Exec*   — 非模板 Exec* 自动包装为 kare run
#
# 占位符说明：
#   {SERVICE_DESCRIPTION_PLACEMENT}  ← 原始 Description
#   {SERVICE_NAME_PLACEMENT}         ← 服务名（不含 .service）
#   {SERVICE_BIN_PLACEMENT}          ← 服务名（用于 .bin 包装脚本）
# =============================================================================

[KarePolicy]
# 强制覆盖：始终用模板值
force = Type ExecStart ExecStop WantedBy
# 注释掉：对 kare wrapper 有害或无效
comment = WorkingDirectory
# 路径改写：容器内路径 → /opt/kare 前缀（前缀固定，仅列字段名）
rewrite = EnvironmentFile

[Unit]
Description={SERVICE_DESCRIPTION_PLACEMENT}

[Service]
Type=simple
ExecStart=/opt/kare/lib/systemd/user/{SERVICE_BIN_PLACEMENT}.bin start
ExecStop=/opt/kare/lib/systemd/user/{SERVICE_BIN_PLACEMENT}.bin stop
TimeoutStartSec=30
TimeoutStopSec=30
Restart=on-failure
RestartSec=1s

[Install]
WantedBy=graphical-session.target
