git.lucas.co / cce-cloud
cloud storage client
git clone https://git.lucas.co/cce-cloud.git

commit22370ff256caef02b2dedc2ec81b867861432d30
parent13644906a0
authorLucas Galante <[email protected]>
date2026-07-30 22:54
feat: ship cce-cloud.service with a PATH covering ~/.local/bin

The daemon spawns app-menu selections, so its PATH decides whether bare
Exec names in desktop entries resolve; the systemd user default omits
~/.local/bin. Track the unit in-repo and install it via make install,
mirroring cce-notifier.

Co-Authored-By: Claude Fable 5 <[email protected]>

 Makefile          |  2 ++
 cce-cloud.service | 17 +++++++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/Makefile b/Makefile
index adee788..dd0b6fe 100644
--- a/Makefile
+++ b/Makefile
@@ -6,6 +6,8 @@ build:
 install: build
 	mkdir -p ~/.local/bin
 	install -m 755 ../target/release/cce-cloud ~/.local/bin/cce-cloud
+	mkdir -p ~/.config/systemd/user
+	install -m 644 cce-cloud.service ~/.config/systemd/user/cce-cloud.service
 
 run:
 	cargo run
diff --git a/cce-cloud.service b/cce-cloud.service
new file mode 100644
index 0000000..71f1ef7
--- /dev/null
+++ b/cce-cloud.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=CCE Cloud Menu Daemon
+After=graphical-session.target
+PartOf=graphical-session.target
+
+[Service]
+Type=simple
+ExecStart=%h/.local/bin/cce-cloud --daemon
+Restart=on-failure
+RestartSec=3
+Environment=RUST_LOG=info
+# App launches inherit this PATH; without %h/.local/bin, desktop entries
+# with bare Exec names fail to spawn.
+Environment=PATH=%h/.local/bin:/usr/local/bin:/usr/bin
+
+[Install]
+WantedBy=graphical-session.target