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

commitf000104b71f696827be3a410602044b7aac1f7e1
parentacbf7eab94
authorLucas Galante <[email protected]>
date2026-08-27 08:16
docs: say why the launcher's PATH line is load-bearing

A systemd user service inherits PATH=/usr/local/bin:/usr/bin, and every
cce binary installs to ~/.local/bin. This daemon launches things, and the
DE's .desktop entries use bare names by convention (Exec=cce-browser %u),
so that one Environment= line is what makes every app in the launcher
resolve. Deleting it would break launching DE-wide, from a daemon that
looks like it simply did nothing.

Worth stating because the sibling unit does NOT have it: cce-grid.service
inherits the bare PATH, which is exactly how its context menu shipped
silently broken earlier today.

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

 cce-cloud.service | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/cce-cloud.service b/cce-cloud.service
index 7165873..90a88b9 100644
--- a/cce-cloud.service
+++ b/cce-cloud.service
@@ -15,6 +15,13 @@ KillMode=process
 Environment=RUST_LOG=info
 # App launches inherit this PATH; without %h/.local/bin, desktop entries
 # with bare Exec names fail to spawn.
+# LOAD-BEARING. A systemd user service inherits PATH=/usr/local/bin:/usr/bin,
+# and every cce binary is installed to ~/.local/bin. This daemon LAUNCHES
+# things — .desktop entries whose Exec= is a bare name by DE convention
+# (`Exec=cce-browser %u`), and the apps the launcher spawns inherit this
+# environment. Drop this line and every one of them fails with ENOENT, from a
+# launcher that looks like it did nothing. cce-grid had no equivalent, which
+# is exactly how its context menu shipped silently broken.
 Environment=PATH=%h/.local/bin:/usr/local/bin:/usr/bin
 
 [Install]