git.lucas.co / cce
cce workspace root: member list, lockfile and dependency pins
git clone https://git.lucas.co/cce.git

Cargo.toml (2.7K)

 1 [workspace]
 2 resolver = "2"
 3 members = [
 4     "cce-ui",
 5     "cce-core",
 6     "cce-screenaver",
 7     "cce-authenticator",
 8     "cce-fonts",
 9     "cce-system-interface",
10     "cce-compositor",
11     "cce-status-interface",
12     "cce-mail",
13     "cce-display-manager",
14     "cce-designer",
15     "cce-color-editor",
16     "cce-cloud",
17     "cce-text-editor",
18     "cce-gallery",
19     "cce-notifier",
20     "cce-files",
21     "cce-graph",
22     "cce-grid",
23     "cce-map",
24     "cce-calendar",
25     "cce-preview",
26     "cce-terminal",
27     "cce-browser",
28     "cce-data-editor",
29     "cce-remote",
30     "cce-secrets",
31     "cce-list",
32     "cce-window-manager",
33     "cce-lock",
34     "cce-shortcuts-portal",
35     "cce-desktop-portal",
36     "cce-vault",
37     "cce-notes",
38     "cce-keyboard",
39     "cce-weather",
40     "cce-model",
41     "cce-mesh-io",
42     "cce-relief",
43 ]
44 
45 # Every app declares cce-ui (and cce-compositor also cce-window-manager) as a git
46 # dependency on GitHub -- the crates' origin, the one place a push lands -- so a
47 # standalone clone of one app resolves without sibling checkouts; that is what
48 # makes a single app installable on its own. (Until 2026-09-21 the pins named
49 # git.lucas.co, which is only an hourly mirror of GitHub now: a rev pinned right
50 # after a push was not fetchable from there for up to an hour.) Inside this
51 # workspace those git sources are redirected back to the local crates, so
52 # workspace builds compile the working tree and cross-crate edits stay live.
53 # The pinned revs only affect builds that happen outside this workspace, which
54 # means they can go stale without any build here failing: after pushing cce-ui
55 # or cce-window-manager, run ./bump-revs.sh to repin the crates that depend on
56 # them (cce-vault too, pinned by cce-notes). The patch keys must match the pins' URL exactly, or the patch is unused
57 # and every crate silently builds a fetched copy of the toolkit.
58 [patch."https://github.com/lsgalante/cce-ui.git"]
59 cce-ui = { path = "cce-ui" }
60 
61 [patch."https://github.com/lsgalante/cce-core.git"]
62 cce-core = { path = "cce-core" }
63 
64 [patch."https://github.com/lsgalante/cce-window-manager.git"]
65 cce-window-manager = { path = "cce-window-manager" }
66 
67 [patch."https://github.com/lsgalante/cce-vault.git"]
68 cce-vault = { path = "cce-vault" }
69 
70 [patch."https://github.com/lsgalante/cce-mesh-io.git"]
71 cce-mesh-io = { path = "cce-mesh-io" }
72 
73 # A member's own [profile] is ignored in a workspace build (only the root's
74 # applies), so cce-compositor's `[profile.release] debug = true` never reached
75 # the installed cce-fx: it shipped with no debug info, and a crash backtrace
76 # had no file:line. Line tables are enough for that, cost a fraction of full
77 # debug info, and are not loaded into memory. Scoped to cce-fx so no other
78 # crate rebuilds.
79 [profile.release.package.cce-fx]
80 debug = "line-tables-only"