cloud storage client
git clone https://git.lucas.co/cce-cloud.git
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]